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

 

对一段有关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)

 

posted @ 2021-03-16 12:35  papering  阅读(77)  评论(0编辑  收藏  举报