golang 笔记

  • 快速读取文件
fi, err := os.Open(path)
if err != nil {
	panic(err)
}
defer fi.Close()
fd, err := ioutil.ReadAll(fi)  //[]byte
  • os 包的用法
  1. os.Getwd() 当前文件路径的字符串和一个err信息
  2. os.Chdir() 将当前文件路径改变为目标路径(非真实改变)
  3. os.Getenv() 获取系统环境变量的值
  • import
  1. 使用 . 导入包内所有元素
  2. 使用 _ 只执行_init()
  3. 当A -> B -> C ,A不能通过 . 的形式,直接使用C的元素
  • 获取当前运行目录的绝对路径
func getCurrentDirectory() string {
	dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
	if err != nil {
		log.Fatal(err)
	}
	return strings.Replace(dir, "\\", "/", -1)
}
  • 获取文件内容
  1. 一次性获取所有
func getContent(path string) string {
	fi, err := os.Open(path)
	if err != nil {
		panic(err)
	}
	defer fi.Close()
	fd, err := ioutil.ReadAll(fi)
	return string(fd)
}
  1. 按行获取
// filename文件名 handle回调函数
func ReadLine(fileName string, handler func(string)) error {
	f, err := os.Open(fileName)
	if err != nil {
		return err
	}
	buf := bufio.NewReader(f)
	for {
		line, err := buf.ReadString('\n')
		line = strings.TrimSpace(line)
		handler(line)
		if err != nil {
			if err == io.EOF {
				return nil
			}
			return err
		}
	}
	return nil
}
  • 写入到文件
f, err := os.OpenFile(cd + "/example/"+cts+".go", os.O_WRONLY | os.O_CREATE , 0600)
defer f.Close()
if err != nil{
	log.Println(err)
}else {
	_,err=f.Write([]byte("要写入的文本内容\nsdfjklsdf"))
}
  • 正则表达式
exp := regexp.MustCompile(`\d+\.\d+`)
result := exp1.FindAllStringSubmatch("text sld sld !", -1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值