第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

未定義的變量 golang

未定義的變量 golang

Go
波斯汪 2023-03-21 17:28:03
有人能告訴我為什么 num 是未定義的嗎 :: 這是 go playground 鏈接你也可以在這里查看這段代碼: https: //play.golang.org/p/zR9tuVTJmx-package mainimport "fmt"func main() {    if 7%2 == 0 {        num := "first"    } else {        num := "second"    }    fmt.Println(num)  }
查看完整描述

1 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗 獲得超3個贊

那是與詞法作用域相關(guān)的東西,在這里查看介紹

基本上,花括號內(nèi)的任何變量都{}被視為該塊內(nèi)的新變量。

所以在上面的程序中你創(chuàng)建了兩個新變量。

塊類似于圍繞一個變量。

如果您在街區(qū)外,則看不到它。你需要在街區(qū)內(nèi)才能看到它。

package main


import "fmt"


func main() {

    if 7%2 == 0 {

        // you are declaring a new variable,

        num := "first"

        //this variable is not visible beyond this point

    } else {

        //you are declaring a new variable,

        num := "second"

        //this variable is not visible beyond this point

    }

    // you are trying to access a variable, which is declared in someother block,

    // which is not valid, so undefined.

    fmt.Println(num)


}

你要找的是這個:


package main


import "fmt"


func main() {

    num := ""

    if 7%2 == 0 {

        //num is accessible in any other blocks below it

        num = "first"

    } else {

        num = "second"

    }

    //num is accessible here as well, because we are within the main block

    fmt.Println(num)

}


查看完整回答
反對 回復(fù) 2023-03-21
  • 1 回答
  • 0 關(guān)注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號