1. 程式人生 > >Go 語法糖陷阱你踩過嗎?--簡短變數宣告

Go 語法糖陷阱你踩過嗎?--簡短變數宣告

前言

相信你已經大量使用過簡短變數宣告,比如像下面這樣:

i := 0
j, k := 1, 2

下面通過幾個題目來測試你對它的理解程度吧。

題目一

問:下面程式碼輸出什麼?

func fun1() {
    i := 0
    i, j := 1, 2
    fmt.Printf("i = %d, j = %d\n", i, j)
}

題目二

問:下面程式碼為什麼不能通過編譯?

func fun2(i int) {
    i := 0
    fmt.Println(i)
}