首頁  >  文章  >  後端開發  >  golang不能隱式轉換嗎

golang不能隱式轉換嗎

(*-*)浩
(*-*)浩原創
2019-12-17 14:06:182748瀏覽

golang不能隱式轉換嗎

不能,作者認為這種功能帶來的隱憂比便利多,Golang中Int和int64都不是一個類型,不能隱式轉換。

Go 程式語言是一個開源項目,它使程式設計師更有生產力。                             (建議學習:go

Go 語言中擁有強大的表現能力,它簡潔、清晰且有效率。得益於其並發機制,用它編寫的程式能夠非常有效地利用多核心與聯網的計算機,其新穎的類型系統則使程式結構變得靈活而模組化。 

Go程式碼編譯成機器碼不僅非常迅速,還有方便的垃圾收集機制和強大的執行時間反射機制。 它是一個快速的、靜態型別的編譯型語言,感覺卻像是動態型別的解譯型語言。

Go語言是靜態型別語言,因此變數(variable)是有明確類型的,編譯器也會檢查變數類型的正確性。在數學概念中,變數表示沒有固定值且可改變的數。但從電腦系統實現角度來看,變數是一段或多段用來儲存資料的記憶體。

宣告變數的一般形式是使用var 關鍵字:

var name type

#其中,var 是宣告變數的關鍵字,name 是變數名,type 是變數的類型。

要注意的是,Go語言和許多程式語言不同,它在宣告變數時將變數的型別放在變數的名稱之後。

這樣做的好處就是可以避免像C語言中那樣含糊不清的聲明形式,例如:int* a, b; 。其中只有 a 是指針而 b 不是。如果你想要這兩個變數都是指針,則需要將它們分開書寫。

而在Go 中,則可以和輕鬆地將它們都宣告為指標型別:

var a, b *int

Go語言的基本型別有:

bool
string
int、int8、int16、int32、int64
uint、uint8、uint16、uint32、uint64、uintptr
byte // uint8 的别名
rune // int32 的别名 代表一个 Unicode 码
float32、float64
complex64、complex128

當一個變數被宣告之後,系統自動賦予它該類型的零值:int 為0,float 為0.0,bool 為false,string 為空字串,指標為nil 等。所有的內存在 Go 中都是經過初始化的。

變數的命名規則遵循駱駝命名法,即首個字小寫,每個新單字的首字母大寫,例如:numShips 和 startDate 。

變數的陳述有幾種形式,透過下面幾節進行整理歸納。

標準格式

Go語言的變數宣告的標準格式為:

var 变量名 变量类型

變數宣告以關鍵字var 開頭,後置變數類型,行尾無須分號。

以上是golang不能隱式轉換嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn