Go 类型
今天來學習一下Go語言的類型
下面來介紹一下Go語言的基本類型
布爾類型:bool eg: var isOk bool ;isOk=true ? isOk:=(1==2)
整形:int8 byte int16,int ,uint,initptr 等`注意:int 和int32是兩種不同的類型,需要手動轉換 v:=12 v默認推到為int類型 value2 = int32(value1)dd默認d
浮點型:float32 =>float ,float64 ?=>double?
復數類型 :complex64,complex128 ?
復數實際上由兩個實數(在計算機中用浮點數表示)構成,一個表示實部(real),一個表示虛部(imag) ?value1 = 3.2 + 12i?
字符串類型:string ?注意:每個中文字符在UTF-8中占3個字節
字符類型 :rune
錯誤類型:error
下面是Go語言中的復合類型
指針:pointer
數組:array ?eg:var intArray [10]int; ??1000]*float64 指針數組?
注意1:在GO語言中數組是一個值類型,每傳遞一個數組都是對該數組的一個copy;
注意2:數組一旦定義,他的長度就不可改變
切片:slice
a: 數組切片的創建
1:基于數組
var myArray [10]int={1,2,2,3,4,5,6}
var mySlice []int= myArray[:5] -->代表從0個元素開始,數到第五個元素 ?1,2,2,3,4
2:直接創建
mySlice1 := make([]int, 5) ? 創建一個元素個數為5的切片,元素初始值為0:
mySlice1 := make([]int, 5,10) ? 創建一個元素個數為5,元素初始值為0,容量為10的數組切片
mySlice3 := []int{1, 2, 3, 4, 5} ? 直接創建并且初始化
? b:元素遍歷
1:for(i:=0;i<len(array);i++){
fmt.Print("第"+i+"個數組元素值:"+array[i])
}
2:for k,v:=range array{
fmt.Print("第"+k+"個數組元素值:"+v)
}
c:動態增減元素
?mySlice:=make([]int,5,10){1,2,3,4,5}
添加:mySlice.append(mySlice,7,8,9)
d:基于數組切片創建數組切片
mySlice:=make([]int,5,10){1,2,3,4,5}
mySlice2:=mySlice[1,4]
e:內容復制
slice1 := []int{1, 2, 3, 4, 5}
slice2 := []int{5, 4, 3}
copy(slice2, slice1) // 只會復制slice1的前3個元素到slice2中
copy(slice1, slice2) // 只會復制slice2的3個元素到slice1的前3個位置
字典:map
a:變量的聲明
var myMap map[string] string
b:初始化
myMap=make(map[string] string)
myMap=make(map[string] string,100) ?//添加了容量
c:賦值
myMap["key"]="我的第一個map"
d:元素的刪除
delete(myMap,"key")
e:元素的查找
value, ok := myMap["1234"]
if ok { // 找到了
// 處理找到的value
}
通道:chan
結構體:struct
接口:interface
?
關于通道 、結構體和接口涉及到Go的高級應用了,后續在學習,今天先到這里了
轉載于:https://www.cnblogs.com/dark-liu/p/3669737.html
總結
- 上一篇: (转)JAVA正则表达式语法大全
- 下一篇: 单例模式的七种写法(转)