新聞中心
Go語言的數(shù)值類型分為以下幾種:整數(shù)、浮點數(shù)、復(fù)數(shù),其中每一種都包含了不同大小的數(shù)值類型,例如有符號整數(shù)包含 int8、int16、int32、int64 等,每種數(shù)值類型都決定了對應(yīng)的大小范圍和是否支持正負(fù)符號。本節(jié)我們主要介紹一下整數(shù)類型。

10年積累的成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有景泰免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Go語言同時提供了有符號和無符號的整數(shù)類型,其中包括 int8、int16、int32 和 int64 四種大小截然不同的有符號整數(shù)類型,分別對應(yīng) 8、16、32、64 bit(二進制位)大小的有符號整數(shù),與此對應(yīng)的是 uint8、uint16、uint32 和 uint64 四種無符號整數(shù)類型。
此外還有兩種整數(shù)類型 int 和 uint,它們分別對應(yīng)特定 CPU 平臺的字長(機器字大?。渲?int 表示有符號整數(shù),應(yīng)用最為廣泛,uint 表示無符號整數(shù)。實際開發(fā)中由于編譯器和計算機硬件的不同,int 和 uint 所能表示的整數(shù)大小會在 32bit 或 64bit 之間變化。
大多數(shù)情況下,我們只需要 int 一種整型即可,它可以用于循環(huán)計數(shù)器(for 循環(huán)中控制循環(huán)次數(shù)的變量)、數(shù)組和切片的索引,以及任何通用目的的整型運算符,通常 int 類型的處理速度也是最快的。
用來表示 Unicode 字符的 rune 類型和 int32 類型是等價的,通常用于表示一個 Unicode 碼點。這兩個名稱可以互換使用。同樣,byte 和 uint8 也是等價類型,byte 類型一般用于強調(diào)數(shù)值是一個原始的數(shù)據(jù)而不是一個小的整數(shù)。
最后,還有一種無符號的整數(shù)類型 uintptr,它沒有指定具體的 bit 大小但是足以容納指針。uintptr 類型只有在底層編程時才需要,特別是Go語言和C語言函數(shù)庫或操作系統(tǒng)接口相交互的地方。
盡管在某些特定的運行環(huán)境下 int、uint 和 uintptr 的大小可能相等,但是它們依然是不同的類型,比如 int 和 int32,雖然 int 類型的大小也可能是 32 bit,但是在需要把 int 類型當(dāng)做 int32 類型使用的時候必須顯示的對類型進行轉(zhuǎn)換,反之亦然。
Go語言中有符號整數(shù)采用 2 的補碼形式表示,也就是最高 bit 位用來表示符號位,一個 n-bit 的有符號數(shù)的取值范圍是從 -2
(n-1) 到 2
(n-1)-1。無符號整數(shù)的所有 bit 位都用于表示非負(fù)數(shù),取值范圍是 0 到 2
n-1。例如,int8 類型整數(shù)的取值范圍是從 -128 到 127,而 uint8 類型整數(shù)的取值范圍是從 0 到 255。
哪些情況下使用 int 和 uint
程序邏輯對整型范圍沒有特殊需求。例如,對象的長度使用內(nèi)建 len() 函數(shù)返回,這個長度可以根據(jù)不同平臺的字節(jié)長度進行變化。實際使用中,切片或 map 的元素數(shù)量等都可以用 int 來表示。
反之,在二進制傳輸、讀寫文件的結(jié)構(gòu)描述時,為了保持文件的結(jié)構(gòu)不會受到不同編譯目標(biāo)平臺字節(jié)長度的影響,不要使用 int 和 uint。
分享文章:創(chuàng)新互聯(lián)GO教程:Go語言整型(整數(shù)類型)
轉(zhuǎn)載來于:http://m.5511xx.com/article/cocscjd.html


咨詢
建站咨詢
