- 文件读写
读
import "io/ioutil"
buf, err := ioutil.ReadFile(filename)
s = string(buf)
写
import "os"
fp, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
defer fp.Close()
fp.WriteString(s)
// fp.Write(buf)
按行读
package main
import (
"os"
"fmt"
"bufio"
)
func main() {
fp, err := os.Open("1.txt")
if err != nil {
fmt.Println(err.Error())
}
defer fp.Close()
scanner := bufio.NewScanner(fp)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
fmt.Println(err.Error())
}
}
- 日期 时间
日期运算
import "time"
dt := time.Now()
pre_dt := dt.AddDate(0, -1, 0)
- 错误处理
err一直往上返回,责任推给上一级
每个不同的error都定义成变量,最后往上抛时候可以通过变量判断属于哪个error
var ErrorShortWrite = errors.New("short write")
var ErrorShortBuffer = errors.New("short buffer")
....