Golang 常见的错误与陷阱

陷阱

不要使用形如 var p*a 这样来声明变量,会混淆指针声明与乘法运算

不要在 for 循环里改变计数器变量

不要在 for - range 中使用一个值去改变自身的值

不要将 goto 与前置标签 一起使用

不要忘记调用函数时后面的 括号(),尤其是调用一个对象的方法或匿名函数调用

不要使用 new 一个map,一直使用 make

定义一个类型的 String()方法时,不要使用 fmt.Print 或者类似代码

不要忘记终止缓存写入时,Flush函数的调用

不要忽略错误提示,否则可以导致程序崩溃

不要使用全局变量或共享变量,否则在并发执行的时候,代码会变得不安全

不要在生产环境使用 println 之类的函数,其只在调试时使用

最佳实践

使用正确的方式初始化一个元素是切片的映射

一起使用逗号,ok或者checked形式作为类型断言

使用一个工厂函数创建并初始化自定义类型

仅当一个结构体的方法要改变结构体时,才使用指针作为方法的接收者,否则用值类型