真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Go中的數(shù)值類型有哪些

這篇“Go中的數(shù)值類型有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Go中的數(shù)值類型有哪些”文章吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供丹寨企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、H5場景定制、小程序制作等業(yè)務。10年已為丹寨眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。

Go中數(shù)值類型有3種:1、整數(shù)類型,可分為平臺無關(guān)整型及平臺相關(guān)整型,區(qū)別是在不同CPU架構(gòu)或操作系統(tǒng)下長度是否是一致的。2、浮點類型,可分為float32與float64兩種,分別對應IEEE754中的單精度與雙精度浮點數(shù)值類型。3、復數(shù),可分為complex128(64位實數(shù)和虛數(shù))和 complex64(32位實數(shù)和虛數(shù))兩種,其中complex128為復數(shù)的默認類型。

Go語言體系中的基本數(shù)據(jù)類型總來的來說包括數(shù)值類型與字符串類型。

而數(shù)值類型又可分為以下幾種:整數(shù)、浮點數(shù)、復數(shù),其中每一種都包含了不同大小的數(shù)值類型,例如有符號整數(shù)包含 int8、int16、int32、int64 等,每種數(shù)值類型都決定了對應的大小范圍和是否支持正負符號。

Go語言整型(整數(shù)類型)

在Go語言中整型分為平臺無關(guān)整型及平臺相關(guān)整型,區(qū)別主要就在,這些整數(shù)類型在不同CPU 架構(gòu)或操作系統(tǒng)下面,它們的長度是否是一致的。

平臺無關(guān)整型

而無關(guān)整型又區(qū)分了有符號整型和無符號整型,其表示的數(shù)據(jù)范圍是不一樣的。

Go中的數(shù)值類型有哪些

平臺相關(guān)整型

Go原生提供了三個平臺相關(guān)整型,分別是int、uint 與 uintptr。

Go中的數(shù)值類型有哪些

特別注意:在編寫有移植性要求的代碼時,千萬不要強依賴這些類型的長度。

可以通過 unsafe 包提供的 SizeOf 函數(shù)來獲取三個整型在平臺上的長度。

func main() {
	var a, b = int(5), uint(6)
	var p uintptr = 0x12345678
	fmt.Println("signed integer a's length is", unsafe.Sizeof(a))
	fmt.Println("unsigned integer b's length is", unsafe.Sizeof(b))
	fmt.Println("uintptr's length is", unsafe.Sizeof(p))
}

// 打印輸出
signed integer a's length is 8
unsigned integer b's length is 8
uintptr's length is 8

格式化輸出

go提供了標準庫fmt包可以格式化輸出不同進制的形式。

func main() {
	var a int8 = 66
	fmt.Printf("%b\n", a) //輸出二進制:1000010
	fmt.Printf("%d\n", a) //輸出十進制:66
	fmt.Printf("%o\n", a) //輸出八進制:102
	fmt.Printf("%O\n", a) //輸出八進制(帶0o前綴):0o102
	fmt.Printf("%x\n", a) //輸出十六進制(小寫):42
	fmt.Printf("%X\n", a) //輸出十六進制(大寫):42
}

Go語言浮點類型(小數(shù)類型)

Go語言提供了float32與float64 兩種浮點類型,它們分別對應的就是IEEE754中的單精度與雙精度浮點數(shù)值類型, 這基本上對應于Java中的float和double類型。

Go語言對浮點類型的表示提供了兩種方式, 十進制類型及科學計數(shù)法; 而其中科學計數(shù)法又分為十進制和十六進制兩種表示方法。

十進制表示法

3.1415
.15  // 整數(shù)部分如果為0,整數(shù)部分可以省略不寫
81.80
82. // 小數(shù)部分如果為0,小數(shù)點后的0可以省略不寫

科學計數(shù)法

十進制表示法:

6674.28e-2 // 6674.28 * 10^(-2) = 66.742800
.12345E+5  // 0.12345 * 10^5 = 12345.000000

十六進制表示法:

0x2.p10  // 2.0 * 2^10 = 2048.000000
0x1.Fp+0 // 1.9375 * 2^0 = 1.937500

格式化輸出

var f float64 = 112.676899
	// 浮點類型第一種:十進制表示法
	fmt.Printf("%f\n", f) // 112.676899
	// 浮點類型第二種:科學計數(shù)法--十進制表示法
	fmt.Printf("%e\n", f) // 1.126769e+02
	// 浮點類型第二種:科學計數(shù)法--十六進制表示法
	fmt.Printf("%x\n", f) // 0x1.c2b52502eec7dp+06

Go語言復數(shù)

Go 提供兩種復數(shù)類型,它們分別是 complex64 和 complex128,complex64 的實部與虛部都是 float32 類型,而 complex128 的實部與虛部都是 float64 類型。如果一個復數(shù)沒有顯示賦予類型,那么它的默認類型為 complex128。

Go提供了三種表示方法:

1、使用復數(shù)字面值直接初始化一個復數(shù)類型變量

var c = 5 + 7i
var d = 0o123 + .12345E+5i // 83+12345i

2、使用Go提供的complex函數(shù),創(chuàng)建一個complex128類型值

var c = complex(5, 6) // 5 + 6i
var d = complex(0o123, .12345E+5) // 83+12345i

3、使用Go提供的預定義的函數(shù)real和imag,可以獲取一個復數(shù)的實部與虛部,返回值為一個浮點類型

var c = complex(5, 6) // 5 + 6i
r := real(c) // 5.000000
i := imag(c) // 6.000000

擴展知識:自定義數(shù)值類型

可以通過Go語言提供的type關(guān)鍵字基于原生數(shù)值類型來聲明一個新類型。

比如,

type NewInt int32

NewInt是我們新定義的類型,底層是int32類型,但是和原生類型int32卻是兩種類型,無法直接進行賦值,需要進行顯示轉(zhuǎn)換才可以。

type NewInt int32

	var m int = 5
	var n int32 = 6
	var a NewInt = NewInt(m) // ok
	var b NewInt = NewInt(n) // ok

當然如果想要能夠直接與原生類型直接賦值使用,Go提供了類型別名(Type Alias)語法來自定義數(shù)值類型。

type NewInt = int32

	var m int32 = 5
	var n NewInt = m

以上就是關(guān)于“Go中的數(shù)值類型有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當前題目:Go中的數(shù)值類型有哪些
文章路徑:http://weahome.cn/article/pdppoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部