本篇內(nèi)容主要講解“Go語(yǔ)言中的基本數(shù)據(jù)類型介紹”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Go語(yǔ)言中的基本數(shù)據(jù)類型介紹”吧!
創(chuàng)新互聯(lián)公司是一家集成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站頁(yè)面設(shè)計(jì)、網(wǎng)站優(yōu)化SEO優(yōu)化為一體的專業(yè)網(wǎng)站設(shè)計(jì)公司,已為成都等多地近百家企業(yè)提供網(wǎng)站建設(shè)服務(wù)。追求良好的瀏覽體驗(yàn),以探求精品塑造與理念升華,設(shè)計(jì)最適合用戶的網(wǎng)站頁(yè)面。 合作只是第一步,服務(wù)才是根本,我們始終堅(jiān)持講誠(chéng)信,負(fù)責(zé)任的原則,為您進(jìn)行細(xì)心、貼心、認(rèn)真的服務(wù),與眾多客戶在蓬勃發(fā)展的市場(chǎng)環(huán)境中,互促共生。
Go 語(yǔ)言是一種靜態(tài)類型的編程語(yǔ)言,在 Go 編程語(yǔ)言中,數(shù)據(jù)類型用于聲明函數(shù)和變量。數(shù)據(jù)類型的出現(xiàn)是為了把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),編程的時(shí)候需要用大數(shù)據(jù)的時(shí)候才需要申請(qǐng)大內(nèi)存,就可以充分利用內(nèi)存。
布爾型
布爾類型的值只有兩種:true 或 false。在if 和 for 語(yǔ)句的條件部分都是布爾類型的值,并且 == 和 < 等比較操作也會(huì)產(chǎn)生布爾型的值。
一元操作符 ! 對(duì)應(yīng)邏輯非操作,因此 !true 的值為 false,更復(fù)雜一些的寫(xiě)法是 (!true==false) == true,實(shí)際開(kāi)發(fā)中我們應(yīng)盡量采用比較簡(jiǎn)潔的布爾表達(dá)式,就像用 x 來(lái)表示 x==true。
var a = 10 fmt.Println(a == 10) // true fmt.Println(a == 5) // false fmt.Println(a != 10) // false fmt.Println(a != 5) // true
Go 語(yǔ)言對(duì)于值之間的比較有非常嚴(yán)格的限制,只有兩個(gè)相同類型的值才可以進(jìn)行比較,如果值的類型是接口(interface),那么它們也必須都實(shí)現(xiàn)了相同的接口。如果其中一個(gè)值是常量,那么另外一個(gè)值可以不是常量,但是類型必須和該常量類型相同。如果以上條件都不滿足,則必須將其中一個(gè)值的類型轉(zhuǎn)換為和另外一個(gè)值的類型相同之后才可以進(jìn)行比較。
var a = 10 fmt.Println(a == true) // cannot use true (type untyped bool) as type int
布爾值可以和 &&(AND)和 ||(OR)操作符結(jié)合,并且有短路行為,如果運(yùn)算符左邊的值已經(jīng)可以確定整個(gè)布爾表達(dá)式的值,那么運(yùn)算符右邊的值將不再被求值,因此下面的表達(dá)式總是安全的:
s != "" && s[0] == 'x'
Go 語(yǔ)言中不允許將整型強(qiáng)制轉(zhuǎn)換為布爾型,代碼如下:
var n bool fmt.Println(int(n) * 2) // cannot convert n (type bool) to type int
數(shù)值型
Go 語(yǔ)言的數(shù)值類型分為以下幾種:整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)。其中每一種都包含了不同大小的數(shù)值類型,例如有符號(hào)整數(shù)包含 int8、int16、int32、int64 等,每種數(shù)值類型都決定了對(duì)應(yīng)的大小范圍和是否支持正負(fù)符號(hào)。本小節(jié)我們主要介紹一下數(shù)值類型。
整型
Go 語(yǔ)言也是基于架構(gòu)的類型,同時(shí)提供了有符號(hào)和無(wú)符號(hào)的整數(shù)類型。
大多數(shù)情況下,我們只需要 int 一種整型即可,它可以用于循環(huán)計(jì)數(shù)器(for 循環(huán)中控制循環(huán)次數(shù)的變量)、數(shù)組和切片的索引,以及任何通用目的的整型運(yùn)算符,通常 int 類型的處理速度也是最快的。
浮點(diǎn)型
Go 語(yǔ)言提供了兩種精度的浮點(diǎn)數(shù):float32 和 float64,這些浮點(diǎn)數(shù)類型的取值范圍可以從很微小到很巨大。
復(fù)數(shù)
復(fù)數(shù)是由兩個(gè)浮點(diǎn)數(shù)表示的,其中一個(gè)表示實(shí)部(real),一個(gè)表示虛部(imag)。
Go 語(yǔ)言中復(fù)數(shù)的類型有兩種,分別是 complex128(64 位實(shí)數(shù)和虛數(shù))和 complex64(32 位實(shí)數(shù)和虛數(shù)),其中 complex128 為復(fù)數(shù)的默認(rèn)類型。
復(fù)數(shù)的值由三部分組成 RE + IMi,其中 RE 是實(shí)數(shù)部分,IM 是虛數(shù)部分,RE 和 IM 均為 float 類型,而最后的 i 是虛數(shù)單位。如:1+2i
字符串型
字符串是一種值類型,且值不可變,即創(chuàng)建某個(gè)文本后將無(wú)法再次修改這個(gè)文本的內(nèi)容,其實(shí),字符串是字節(jié)的定長(zhǎng)數(shù)組。
使用雙引號(hào) "" 來(lái)定義字符串,字符串中可以使用轉(zhuǎn)義字符來(lái)實(shí)現(xiàn)換行、縮進(jìn)等效果,常用的轉(zhuǎn)義字符包括:
\n:換行符
\r:回車(chē)符
\t:tab 鍵
\u 或 \U`:Unicode 字符
\\:反斜杠自身
Go 語(yǔ)言比其他語(yǔ)言更加的靈活,此外,可通過(guò)反引號(hào) ` 可以定義多行字符串。(注意:是反引號(hào) `(鍵盤(pán)上1鍵左邊鍵),而不是引號(hào) ‘)
到此,相信大家對(duì)“Go語(yǔ)言中的基本數(shù)據(jù)類型介紹”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!