go型別:只能通過顯示型別轉換進行型別間轉換
bool 只有true和false
整形 int8,uint8(byte),int16,uint16,int32,uint32,int64,uint64,int和uint與平台相關
浮點數 float32和float64(相當於c的double)
複數 complex64和complex128
指標型別 uintptr
陣列型別 [n]int。eg: var arr [10]int
結構體 struct
字串 string
引用型別 slice,map(類似hash),chan(通道,併發使用)
介面型別 inte***ce
函式型別 func
運算子^ ! //一元運算子。^:反碼(^a=-(a+1))
* / % + -
<< >> & | &^ ^ //二元運算子。a&^b:如果b的某位為1則該位的結果為0否則為a對應的位的值。6&^11=4,6^4=2(規則 0^1=1, 1^0=1, 1^1=0, 0^0=0)
== != < <= > >=
&& ||
<-
var 《名稱》 《型別》
var a int
a = 1
var 《名稱》 [型別] = 《表示式》 型別可以省略
var a int = 1
var a = 1
《名稱》 := 《表示式》 全域性變數不可以省略var,不可以使用該形式
a := 1
var a,b,c,d = 1,2,3,4 //函式中多變數並行宣告
a,b,c,d = 1,2,3,4
型別轉換
《型別a> [:]= 《型別a>(《型別b>)
var a int = 65
b := string(a) //b='a' strconv.itoa(a)="65"
const (
a = 'a' //65,此時iota為0
b //65
c = iota //2,注意iota的特性。 )
const(i=1<<
iota //1
j=3<<
iota //6
k //k=3)
go基本型別和運算子
乙個簡單的列子 var a bool ture bool值只有false和true。兩個相同的型別之間可以通過 或者 來比較獲取乙個bool值。比如 var a 1a 5 false a 1 true a 2 true a 1 false go對於值之間的比較非常嚴格,只有兩個相同的型別的值才可以進...
Go 基本型別
標準整形是按長度進行分類的,其中uint8為byte型,int16為c語言中的short型,int64為c語言中的long型別。型別描述 uint8 無符號 8位整型 0 到 255 uint16 無符號 16位整型 0 到 65535 uint32 無符號 32位整型 0 到 4294967295...
go 基本型別
go有許多預定義型別,這裡簡單把它們分為基本型別和高階型別。下面是基本型別列表 go的基本型別共有18個,其中int和uint的實際寬度會根據計算架構的不同而不同。在386計算架構下,它的寬度為32位元,即4個位元組。在amd64計算架構下,它們的寬度為64位元,即8個位元組。byte型別可以看作u...