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

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

在 Go 編程語言中定義變量

在 Go 編程語言中定義變量

Go
一只萌萌小番薯 2021-12-27 17:57:38
我正在學(xué)習(xí) Go 語言并遇到這種類型的變量聲明:i:=1;但它說 Go 有靜態(tài)變量。i,e 變量應(yīng)該像這樣定義var i int=1;那么這兩種方法有什么區(qū)別呢?在第一個中,我們不需要指明數(shù)據(jù)類型。為什么會這樣?
查看完整描述

2 回答

?
牧羊人nacy

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

第一個i := 1稱為短變量聲明。它是帶有初始化表達式但沒有類型的常規(guī)變量聲明的簡寫:

var IdentifierList = ExpressionList

您不指定 的類型i,但i將具有基于某些規(guī)則的類型。它的類型將被自動推斷。在這種情況下,它將是類型的,int因為初始化表達式1是一個無類型的整數(shù)常量,其默認(rèn)類型是int,所以當(dāng)需要類型時(例如,它用于短變量聲明),int將推導(dǎo)出類型。

所以 Go 是靜態(tài)類型的。這意味著變量將具有靜態(tài)類型,并且在運行時存儲在其中的值將始終為該類型。靜態(tài)類型并不意味著必須顯式指定靜態(tài)類型,它只是意味著變量必須具有靜態(tài)類型 - 在編譯時決定 - 即使您使用短變量聲明并且沒有指定它也滿足哪個條件。

請注意,如果使用var關(guān)鍵字聲明變量,也可以省略類型:

var i = 1

在這種情況下,類型也將從初始化表達式的類型中推導(dǎo)出來。

規(guī)范:變量聲明:

如果存在類型,則為每個變量指定該類型。否則,每個變量都會在賦值中被賦予相應(yīng)的初始化值的類型。如果該值是無類型常量,則首先將其轉(zhuǎn)換為其默認(rèn)類型;如果它是一個無類型的布爾值,它首先被轉(zhuǎn)換為 type bool。預(yù)聲明的值nil不能用于初始化沒有顯式類型的變量。


查看完整回答
反對 回復(fù) 2021-12-27
?
德瑪西亞99

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

Go 的設(shè)計考慮到了易用性。所以新變量能夠使用:=運算符獲得右側(cè)的隱式類型。1例如,常量在 go 中有一個隱式類型。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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