var a [2]int # 仅定义
var b =[2]int{
1,2} # 定义并初始化
c :=[3]int{
1,2,3}
d :=[...]int{
1,2,3,4} # 可以省略长度而采用 `...` 的方式, Go 会自动根据元素个数来计算长度
e :=[2][4]int{
[4]int{
1,2,3,4},[4]int{
5,6,7,8}} # 定义并初始化二位数组
f :=[2][4]int{
{
1,2,3,4},{
5,6,7,8}} # 上面的声明可以简化,直接忽略内部的类型
2. スライスの初期化方法
var a []int # 仅定义
var b =[]int{
1,2} # 定义并初始化
c :=[]int{
1,2,3}
d := c[:1] # 从已有Slice声明一个Slice,等价 d := c[0:1],包含元素1, 2
e := c[1:] # 等价 e :=[1:2], 包含元素2,3
f :=[:] # 等价 f :=[0:2], 包含元素1,2,3
3. マップの初期化方法
var a map[string]int # 声明key是字符串,值为int的map, 需要在使用之前使用make 初始化
b :=make(map[string]int) # 声明并初始化
c :=map[string]int{
"a":1,"b":2} # 声明并初始化
4. セットコレクション効果の実現方法
# 定义一个类型为string的Set集合:
var set =map[string]struct{
}{
}
# 判断Set集合是否存在a:if_, ok := set["a"]; ok {
fmt.Println("set contains a")}
# 结果:ok=false
# 先传入b,再判断Set集合是否存在b:
set["b"]=struct{
}{
}if_, ok := set["b"]; ok {
fmt.Println("set contains b")}
# 结果:ok=true
# 遍历Set集合:
for s :=range set {
fmt.Println(s)}