您好,登錄后才能下訂單哦!
這種功能帶來的隱患比便利要多,Golang中Int和int64都不是一個(gè)類型,不能隱式轉(zhuǎn)換。
Go 編程語言是一個(gè)開源項(xiàng)目,它使程序員更具生產(chǎn)力。
Go 語言具有很強(qiáng)的表達(dá)能力,它簡(jiǎn)潔、清晰而高效。得益于其并發(fā)機(jī)制,用它編寫的程序能夠非常有效地利用多核與聯(lián)網(wǎng)的計(jì)算機(jī),其新穎的類型系統(tǒng)則使程序結(jié)構(gòu)變得靈活而模塊化。
Go代碼編譯成機(jī)器碼不僅非常迅速,還具有方便的垃圾收集機(jī)制和強(qiáng)大的運(yùn)行時(shí)反射機(jī)制。 它是一個(gè)快速的、靜態(tài)類型的編譯型語言,感覺卻像動(dòng)態(tài)類型的解釋型語言。
Go語言是靜態(tài)類型語言,因此變量(variable)是有明確類型的,編譯器也會(huì)檢查變量類型的正確性。在數(shù)學(xué)概念中,變量表示沒有固定值且可改變的數(shù)。但從計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)角度來看,變量是一段或多段用來存儲(chǔ)數(shù)據(jù)的內(nèi)存。
聲明變量的一般形式是使用 var 關(guān)鍵字:
var name type
其中,var 是聲明變量的關(guān)鍵字,name 是變量名,type 是變量的類型。
需要注意的是,Go語言和許多編程語言不同,它在聲明變量時(shí)將變量的類型放在變量的名稱之后。
這樣做的好處就是可以避免像C語言中那樣含糊不清的聲明形式,例如:int* a, b; 。其中只有 a 是指針而 b 不是。如果你想要這兩個(gè)變量都是指針,則需要將它們分開書寫。
而在 Go 中,則可以和輕松地將它們都聲明為指針類型:
var a, b *int
Go語言的基本類型有:
bool string int、int8、int16、int32、int64 uint、uint8、uint16、uint32、uint64、uintptr byte // uint8 的別名 rune // int32 的別名 代表一個(gè) Unicode 碼 float32、float64 complex64、complex128
當(dāng)一個(gè)變量被聲明之后,系統(tǒng)自動(dòng)賦予它該類型的零值:int 為 0,float 為 0.0,bool 為 false,string 為空字符串,指針為 nil 等。所有的內(nèi)存在 Go 中都是經(jīng)過初始化的。
變量的命名規(guī)則遵循駱駝命名法,即首個(gè)單詞小寫,每個(gè)新單詞的首字母大寫,例如:numShips 和 startDate 。
變量的聲明有幾種形式,通過下面幾節(jié)進(jìn)行整理歸納。
標(biāo)準(zhǔn)格式
Go語言的變量聲明的標(biāo)準(zhǔn)格式為:
var 變量名 變量類型
變量聲明以關(guān)鍵字 var 開頭,后置變量類型,行尾無須分號(hào)。
以上就是golang不能隱式轉(zhuǎn)換嗎的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。