package calc
func Add ( x int , y int ) int {
return x + y
}
ackage main
import (
"fmt"
c "test/calc"
)
func main ( ) {
ret := c. Add ( 10 , 20 )
fmt. Println ( ret)
}
package calc
func init ( ) {
fmt. Println ( "自动执行!" )
}
func Add ( x int , y int ) int {
return x + y
}
package main
import (
"fmt"
"io"
"os"
)
func readbybyte ( filename string ) {
fileObj, err := os. Open ( filename)
if err != nil {
fmt. Printf ( "open file failed, err:%v" , err)
return
}
defer fileObj. Close ( )
var tmp [ 128 ] byte
for {
n, err := fileObj. Read ( tmp[ : ] )
if err == io. EOF || n <= 0 {
return
}
if err != nil {
fmt. Printf ( "read from file failed, err:%v" , err)
return
}
fmt. Printf ( "读了%d个字节\n" , n)
fmt. Println ( string ( tmp[ : n] ) )
}
}
func readbybufio ( filename string ) {
fileObj, err := os. Open ( filename)
if err != nil {
fmt. Printf ( "open file failed, err:%v" , err)
return
}
defer fileObj. Close ( )
reader := bufio. NewReader ( fileObj)
for {
line, err := reader. ReadString ( '\n' )
if err == io. EOF {
return
}
if err != nil {
fmt. Printf ( "read from file failed, err:%v" , err)
return
}
fmt. Println ( line)
}
}
func readbyioutil ( filename string ) {
ret, err := ioutil. ReadFile ( filename)
if err != nil {
fmt. Printf ( "read file failed,err:%v\n" , err)
return
}
fmt. Println ( string ( ret) )
}
func writefile ( filename string ) {
fileObj, err := os. OpenFile ( filename, os. O_CREATE| os. O_APPEND, 0644 )
if err != nil {
fmt. Printf ( "open file failed,err:%v\n" , err)
return
}
fileObj. Write ( [ ] byte ( "zhoulin mengbi le!" ) )
fileObj. WriteString ( "周林解释不了" )
fileObj. Close ( )
}
func writefile2 ( filename string ) {
fileObj, err := os. OpenFile ( filename, os. O_CREATE| os. O_APPEND, 0644 )
if err != nil {
fmt. Printf ( "open file failed,err:%v\n" , err)
return
}
defer fileObj. Close ( )
wr := bufio. NewWriter ( fileObj)
wr. WriteString ( "hello沙河\n" )
wr. Flush ( )
}
func writefile3 ( filename string ) {
str := "hello 沙河"
err := ioutil. WriteFile ( filename, [ ] byte ( str) , 0666 )
if err != nil {
fmt. Printf ( "read file failed,err:%v\n" , err)
return
}
}
func fileinsert ( filename string ) {
fileObj, err := os. OpenFile ( filename, os. O_RDWR, 0644 )
if err != nil {
fmt. Println ( "文件打开失败" )
return
}
defer fileObj. Close ( )
fileObj. Seek ( 4 , 0 )
var ret [ 1 ] byte
n, err := fileObj. Read ( ret[ : ] )
if err != nil {
fmt. Println ( "读取失败" )
return
}
fmt. Println ( string ( ret[ : n] ) )
fileObj. Seek ( 1 , 0 )
var s [ ] byte
s = [ ] byte { 'c' }
fileObj. Write ( s)
}
func useBufio ( ) {
var s string
reader:= bufio. NewReader ( os. Stdin)
s, _ = reader. ReadString ( '\n' )
fmt. Printf ( "你输入的内容是:%s\n" , s)
}
func main ( ) {
fileObj, err:= os. OpenFile ( "./xx.log" , os. O_APPEND| os. O_CREATE| os. O_WRONLY, 0644 )
if err!= nil {
fmt. Printf ( "open file failed,err:%v" , err)
return
}
log. SetOutput ( fileObj)
for {
log. Println ( "这是一条测试的日志" )
time. Sleep ( time. Second* 3 )
}
}