基本類型
- 布爾類型 bool
取值范圍為:true , false
長度為 1 個字節(jié)
不可以用數(shù)字來表示true 和 false
例子: var d bool = true
- 數(shù)字類型
2.1. 整型 int/uint
取值范圍:根據(jù)操作系統(tǒng)不同,分別為32位與64位
2.2. 整型里面的整數(shù)及取值范圍:
int8(-128 -> 127)
int16(-32768 -> 32767)
int32(-2,147,483,648 -> 2,147,483,647)
int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)
2.3. 整型里面的無符號整數(shù)及取值范圍:
uint8(0 -> 255)
uint16(0 -> 65,535)
uint32(0 -> 4,294,967,295)
uint64(0 -> 18,446,744,073,709,551,615)
- 浮點型 float32/float64
根據(jù)操作系統(tǒng)不同,取值范圍不同
float32(+- 1e-45 -> +- 3.4 * 1e38)
float64(+- 5 1e-324 -> 107 1e308)
- 指針整數(shù) uintptr
足夠保存指針32,64位的整數(shù)型
- 復數(shù) complex64/complex128
complex64 (32 位實數(shù)和虛數(shù))
complex128 (64 位實數(shù)和虛數(shù))
復數(shù)使用 re+imI 來表示,其中 re 代表實數(shù)部分,im 代表虛數(shù)部分,I 代表根號負 1。
例:var c1 complex64 = 5 + 10i
fmt.Printf("The value is: %v", c1)
// 輸出: 5 + 10i
- 其它值類型
array,struct,string(這些會在后面的文章中單獨說明)
- 引用類型
slice,map,chan
- 接口類型 inteface
- 函數(shù)類型 func
補充說明:類型零值
零值并不等于空值,而是當變量被聲明為某種類型的初始值
正常情況下的默認值為0
bool默認為false
string默認為空字符串
變量的聲明與賦值
變量是通過var關鍵字來進行聲明
- 第一種方式 ,聲明與賦值分開
格式: var 變量名 變量類型
例:
聲明: var d int
賦值: d = 1
- 第二種方式,聲明的同時進行賦值
格式:var 變量名 變量類型 = 值
例:
var d int = 1
- 第三種方式,同時聲明多個變量
格式 : var 變量名,變量名,變量名 類型
例:var a,b,c int
說明:一次聲明多個變量時,變量名用','進行分割
留個思考,自己試下同時聲明多個變量并進行賦值看看
- 第四種方式,最減寫法(只適合在函數(shù)類,不適合全局變量)
格式 : 變量名 := 值
例: a := 1
a,b,c := 1,2,3
更多其它方式,等著你去發(fā)現(xiàn)
變量類型的轉換
在文章最開始介紹了基本類型,接著介紹了定義變量,我們知道GO語言的變量是不能跨類型進行比較的,當我們要比較兩個變量時,就需要轉換成相同的類型進行比較
轉換只能發(fā)生在兩種相互兼容的類型,整型是不能轉為bool,反之也不行
格式:新變量名 := 要轉換的類型(要轉換的變量)
例:var a float32 = 1.2
轉換 b := int(a)
本篇基本介紹了GO的基本類型與變量的聲明和賦值,下一篇將介紹常量與GO的運算符
如果覺得文章能夠對您有所幫助,可以關注我,你的支持會鼓勵我不斷分享更多更好的優(yōu)質文章。