菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
495
0

对一段有关Go Code Block和变量作用域的代码的简要分析 原创 Tony Bai TonyBai 2018-05-11

原创
05/13 14:22
阅读数 39066

 

对一段有关Go Code Block和变量作用域的代码的简要分析

 

https://mp.weixin.qq.com/s/vD8jOjkt_kBc9fd8huIUAQ

 

 

Each file has a file block containing all Go source text in that file.

4. Each "if", "for", and "switch" statement is considered to be in its own implicit block.

5. Each clause in a "switch" or "select" statement acts as an implicit block.

 


func writeDb(Type int) bool {
var B bool
switch Type {
case 1:
B = true

}
return B
}

type T struct {
B bool
}

func writeDb1(Type int) (t T) {
var B bool
switch Type {
case 1:
B = true
}
t.B = B
return
}

func main() {

i := writeDb(1)


j := writeDb(2)

i1 := writeDb1(1)


j1 := writeDb1(2)

fmt.Println(i,j,i1,j1)

 

发表评论

0/200
495 点赞
0 评论
收藏