对于有计算语言基础的人来说,学习一门语言绝不仅仅是单纯的学习语法,更要避免不要想当然地被带入已学语言的情境中,因此,学习一门新语言,了解它的坑,会对语言本身有更多认识。go语言陷阱取自国外一篇博文,持续更新中...
package main
import "fmt"
func main()
{
fmt.Printf("hello, world\n")
}
好吧,我承认乍一看起来没有问题,看事实吧
➜ ~ go run hello.go
# command-line-arguments
./hello.go:6: syntax error: unexpected semicolon or newline before {
你看到了,语法错误,正如你所看到的,错误出在第六行的"{"处,这么写不对。
来看正确的写法:
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
目前学过的语言中,除了python强制对齐,也就go这么任性了,连大括号的益也作了规范,以后大家写代码看起来就一样样了。小细节,体现了go语言设计师的代码习惯,mark!