原文,向原作者表示感谢。这里省略了一些无关的介绍说明以及过于简单的说明,直接看代码就懂了。

左花括号不能单独一行

在大多数语言中你可以随便放置花括号的位置,但go语言不一样,你可以理解为为go会自动注入分号(automatic semicolon injection):

错误代码:

1
2
3
4
5
6
7
8
package main

import "fmt"

func main()
{ //error, can't have the opening brace on a separate line
fmt.Println("hello there!")
}

编译错误:

1
/tmp/sandbox826898458/main.go:6: syntax error: unexpected semicolon or newline before {

正确代码:

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Println("works!")
}
阅读全文

golang小技巧

发布在 Golang

下划线的妙用

大多数情况下,下划线_都用于忽略函数返回值的情况。最近查看authboss这个开源库的代码时,发现这样一种用法:

1
2
3
4
5
6
7
8
9
10
struct User {
...
}

var (
assertUser = &User{}
assertStorer = &MemStorer{}
_ authboss.User = assertUser
_ authboss.AuthableUser = assertUser
)
阅读全文
  • 第 1 页 共 1 页
作者的图片

Roy

君以国士待我,我必以国士报君。


野生程序猿


China