加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang常见误区

发布时间:2020-12-16 09:30:59 所属栏目:大数据 来源:网络整理
导读:1.左大括号一般不能单独一行 ? 在其他大多数语言中,{?的位置你自行决定。Go 比较特别,遵守分号注入规则(automatic semicolon injection):编译器会在每行代码尾部特定分隔符后加?;?来分隔多条语句,比如会在?)?后加分号: ? // 错误示例 func main()????

1.左大括号一般不能单独一行

?

在其他大多数语言中,{?的位置你自行决定。Go 比较特别,遵守分号注入规则(automatic semicolon injection):编译器会在每行代码尾部特定分隔符后加?;?来分隔多条语句,比如会在?)?后加分号:

?

// 错误示例

func main()???????????????????

{

??? println("hello world")

}

// 等效于

func main();??? // 无函数体???????????????????

{

??? println("hello world")

}

./main.go: missing function body

./main.go: syntax error: unexpected semicolon or newline before {

// 正确示例

func main() {

??? println("hello world")

}? ???

注意代码块等特殊情况:

// { 并不遵守分号注入规则,不会在其后边自动加分,此时可换行

func main() {

??? {

??????? println("hello world")

??? }

}????

2. 未使用的变量

如果在函数体代码中有未使用的变量,则无法通过编译,不过全局变量声明但不使用是可以的。

即使变量声明后为变量赋值,依旧无法通过编译,需在某处使用它:

// 错误示例

var gvar int???? // 全局变量,声明不使用也可以

func main() {

??? var one int ????// error: one declared and not used

??? two := 2??? // error: two declared and not used

??? var three int??? // error: three declared and not used

??? three = 3???????

}

// 正确示例

// 可以直接注释或移除未使用的变量

func main() {

??? var one int

??? _ = one

???

??? two := 2

??? println(two)

???

??? var three int

??? one = three

var four int

??? four = four

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读