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

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

for循環(huán)init語句中的變量聲明

for循環(huán)init語句中的變量聲明

ibeautiful 2021-09-10 21:13:25
golang的另一個初學(xué)者問題:我可以寫:for i := 0; i < 10; i++ {}但是如果我想i成為特定類型的 as int64,顯然我不應(yīng)該寫:for var i int64 = 0; i < 10; i++ {}我很驚訝無法在 for 循環(huán)的 start 語句中指定類型。我需要寫這樣的東西:var i int64 for i = 0; i < 10; i++ {}我在這里遺漏了一點嗎?有什么解釋嗎?
查看完整描述

2 回答

?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

根據(jù)Go 語言規(guī)范:如果您選擇以下形式的語句ForClause:


ForClause = [ InitStmt ] ";" [ Condition ] ";" [ PostStmt ] .

的定義InitStmt:


SimpleStmt = EmptyStmt | ExpressionStmt | SendStmt | IncDecStmt | Assignment

               | ShortVarDecl .

所以你可以看到如果你想在for語句中創(chuàng)建一個新變量,它只能是一個短變量聲明,像這樣:


for i := 0; i < 10; i++ {}

Short 變量聲明可用于聲明任何類型的新變量,變量的類型為右側(cè)對應(yīng)的初始化值的類型。


讓我們仔細(xì)檢查一下:


i := 0

右側(cè)有0:它是一個無類型的數(shù)字常量。請注意,Go 中的無類型常量具有默認(rèn)類型,如果需要類型,則使用該類型,就像這種情況。因此,無類型整數(shù)常量的默認(rèn)類型是int變量i將具有int類型。


如果您希望它具有 type int64,請使用具有int64type的表達(dá)式,如下所示:


for i := int64(0); i < 10; i++ {} // Explicit type conversion


const ZERO int64 = 0

for i := ZERO; i < 10; i++ {}     // Typed constant


var vzero int64


for i: = vzero; i < 10; i++ {}    // Expression of type int64

或者i在for使用var聲明的語句之前創(chuàng)建變量:


var i int64

for i = 0; i < 10; i++ {}         // Variable is declared before for using "var"

請注意,最后一個示例不使用短變量聲明,只是一個簡單的賦值。


查看完整回答
反對 回復(fù) 2021-09-10
  • 2 回答
  • 0 關(guān)注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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