Go 开发技巧

  • package 的名字和目录名一样,main 除外
  • string 表示的是不可变的字符串变量,对 string 的修改是比较重的操作,基本上都需要重新申请内存,如果没有特殊需要,需要修改时多使用 []byte
  • 尽量使用 strings 库操作 string,这样做可以提高性能
  • append 要小心自动分配内存,append 返回的可能是新分配的地址
  • 如果要直接修改 map 的 value 值,则 value 只能是指针,否则要覆盖原来的值
  • map 在并发中需要加锁
  • 编译过程无法检查 interface{} 的转换,只有运行时检查,小心引起 panic
  • 使用 defer,保证退出函数时释放资源
  • 尽量少用全局变量,通过参数传递,使每个函数都是“无状态”的,这样减少耦合,也方便分工和单元测试
  • 参数如果比较多,将相关参数定义成结构体传递
本作品采用《CC 协议》,转载必须注明作者和本文链接
by JeffreyBool blog :point_right: link
JeffreyBool
讨论数量: 1

有对应的代码演示就nice了

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!