golang原生數(shù)據(jù)類型:按長(zhǎng)度:int8(-128-127)、int16、int32、int64。
創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括東安網(wǎng)站建設(shè)、東安網(wǎng)站制作、東安網(wǎng)頁制作以及東安網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東安網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東安省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
布爾型:布爾型的值只可以是常量true或者false。一個(gè)簡(jiǎn)單的例子:varbbool=true。
數(shù)字類型:整型int和浮點(diǎn)型float32、float64,Go語言支持整型和浮點(diǎn)型數(shù)字,并且支持復(fù)數(shù),其中位的運(yùn)算采用補(bǔ)碼。
字符串類型:字符串就是一串固定長(zhǎng)度的字符連接起來的字符序列。Go的字符串是由單個(gè)字節(jié)連接起來的。Go語言的字符串的字節(jié)使用UTF-8編碼標(biāo)識(shí)Unicode文本。
派生類型:包括:(a)指針類型(Pointer)(b)數(shù)組類型?結(jié)構(gòu)化類型(struct)(d)Channel類型(e)函數(shù)類型(f)切片類型(g)接口類型(interface)(h)Map類型。
int最大長(zhǎng)度是11位。在32位的機(jī)器下,int的范圍是 - 2 ^ 31 ~2 ^ 31 - 1; ?也就是:[-2147483648, 2147483647];在16位的機(jī)器下,int的范圍為 -2 ^ 15 ~ 2 ^ 15-1。
也就是 :[-32768,32767];整型變量int的范圍與計(jì)算機(jī)的字長(zhǎng)有關(guān),int 的長(zhǎng)度是一個(gè)計(jì)算機(jī)字長(zhǎng)。
int類型允許存儲(chǔ)的字節(jié)數(shù)是4個(gè)字節(jié),換算出int UNSIGNED(無符號(hào))類型的能存儲(chǔ)的最小值為0,最大值為4294967295(即4B=32b, 最大值即為32個(gè)1組成)。
擴(kuò)展資料:
int型字長(zhǎng)問題:
long int型至少應(yīng)該和int型一樣長(zhǎng),而int型至少應(yīng)該和short int一樣長(zhǎng)。
1、C/C++規(guī)定int字長(zhǎng)和機(jī)器字長(zhǎng)相同;
2、操作系統(tǒng)字長(zhǎng)和機(jī)器字長(zhǎng)未必一致;
3、編譯器根據(jù)操作系統(tǒng)字長(zhǎng)來定義int字長(zhǎng);
在一些沒有操作系統(tǒng)的嵌入式計(jì)算機(jī)系統(tǒng)上,int的長(zhǎng)度與處理器字長(zhǎng)一致;有操作系統(tǒng)時(shí),操作系統(tǒng)的字長(zhǎng)與處理器的字長(zhǎng)不一定一致,此時(shí)編譯器根據(jù)操作系統(tǒng)的字長(zhǎng)來定義int字長(zhǎng):“比如在64位機(jī)器上運(yùn)行DOS16系統(tǒng)。
那么所有for dos16的C/C++編譯器中int都是16位的;在64位機(jī)器上運(yùn)行win32系統(tǒng),那么所有for win32的C/C++編譯器中int都是32位的”。(CPU的“字長(zhǎng)”是指其一條指令/一次運(yùn)算可以處理的數(shù)據(jù)的最大寬度。
對(duì)于整型的數(shù)值范圍,每個(gè)編譯器里面都有一個(gè)標(biāo)準(zhǔn)頭文件:limits.h,這個(gè)頭文件定義了一些宏,這些宏表示該編譯器使用的所有數(shù)據(jù)類型的范圍,編程過程中使用這些宏就行了。
int占4個(gè)字節(jié)。
常用單片機(jī),short和int型至少為16位,long型至少為32位,并且short型長(zhǎng)度不能超過int型,而int型不能超過long型。這即是說各個(gè)類型的變量長(zhǎng)度是由編譯器來決定的,而當(dāng)前主流的編譯器中一般是32位機(jī)器和64位機(jī)器中int型都是4個(gè)字節(jié)。
擴(kuò)展資料:
Int是將一個(gè)數(shù)值向下取整為最接近的整數(shù)的函數(shù)。INT是數(shù)據(jù)庫中常用函數(shù)中的取整函數(shù),常用來判別一個(gè)數(shù)能否被另一個(gè)數(shù)整除。
在編程語言(C、C++、C#、Java等)中,常用于定義整數(shù)類型變量的標(biāo)識(shí)符。
在一般的電腦中,int占用4字節(jié),32比特,數(shù)據(jù)范圍為-2147483648~2147483647[-2^31~2^31-1];
在之前的微型機(jī)中,int占用2字節(jié),16比特,數(shù)據(jù)范圍為-32768~32767[-2^15~2^15-1];
使用printf輸出int占用字節(jié)數(shù)量:
printf("%d",sizeof(int));
除了int類型之外,還有short、long、long?long類型可以表示整數(shù)。
unsigned?int?表示無符號(hào)整數(shù),數(shù)據(jù)范圍為[0~2^32-1]。
參考資料來源:百度百科——int(數(shù)據(jù)類型)
int is a signed integer type that is at least 32 bits in size. It is a distinct type, however, and not an alias for, say, int32.
int 是帶符號(hào)整數(shù)類型,其大小至少為32位。 它是一種確切的類型,而不是 int32 的別名。
int 不是int32,那 int 在內(nèi)存站多少字節(jié)呢?官方?jīng)]有明確,讓我們測(cè)試下。
GOARCH="amd64"
package main
import (
"fmt"
"unsafe"
)
func main() {
i := int(1)
fmt.Println(unsafe.Sizeof(i)) // 4
j := 1
fmt.Println(unsafe.Sizeof(j)) // 4
u := uint(1)
fmt.Println(unsafe.Sizeof(u)) // 4
}
可以認(rèn)為 int 是4字節(jié)么?我不敢這樣認(rèn)為,GoLang支持多種平臺(tái)架構(gòu)。如果對(duì)size有明確要求,那就用 int32 之類的吧。
補(bǔ)充:隨Go版本的變化,這個(gè)的確是在變化,所以到底占用多少字節(jié),還是看具體版本吧
當(dāng)前名稱:go語言int默認(rèn)幾字節(jié) golang中文字符串長(zhǎng)度
分享地址:http://muchs.cn/article46/docschg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容