1. 程式人生 > >golang第五課----go語言資料型別

golang第五課----go語言資料型別

在Go語言中,資料型別用於宣告函式和變數。

資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。
資料型別

Go語言按類別有以下幾種資料型別:

1.bool,一個位元組,值是true或者false,不可以用0或者1表示(java中boolean佔用4個位元組,而boolean作為陣列出現時,每個boolean佔用1個位元組)

2.int/uint(帶符號為與不帶符號位的int型別):根據平臺不同是32位或者64位

3.intx/uintx:x代表任意位數,例如:int3,代表佔3bit的int型別

4.byte佔用8位,一個位元組,相當於uint8,不帶符號位

5.floatx:由於沒有double型別,所以float64就是double。float32小數精確到7位,float64小數精確到15位。

6.complex64/complex128:複數型別

7.uintptr:儲存指標用的型別,也是隨著平臺改變而改變,因為指標的長度就是隨平臺而變。

8.其他型別值:array,struct,string

9.引用型別:slice,map,channel

10.介面型別:interface

11.函式型別:func

注意:Golang中還有個rune型別,它等價於int32型別。
型別轉換

Golang是靜態型別的程式語言,所有資料的型別在編譯期確定了。而且 Golang中即使是底層存的是一個型別,宣告的型別不一樣,也要強制轉換才能互用。

在Go 語言裡面沒有隱式轉換,遇到不同型別想互用,只能進行強制型別轉換。

Go語言型別轉換基本格式如下:

1  type_name(expression)

其中type_name是資料型別,expression是原始資料或表示式。

以下例項中將整型轉化為浮點型,並計算結果,將結果賦值給浮點型變數:

package main 
import "fmt" 
func main() { 
	var sum int = 17 
	var count int = 5 
	var mean float32 
	mean = float32(sum)/float32(count) //強制轉換 
	fmt.Printf("mean 的值為: %f\n",mean) 
}

在這裡插入圖片描述