Go语言入门篇-复合数据类型
2021-07-11 09:04
标签:port 等价 const str range 数据类型 复合 表数 ice 复合数据类型 主要讨论四种类型——数组、slice、map和结构体 数组和结构体聚合类型 --数组和结构体都是有固定内存大小的数据结构 --数组:由同构的元素组成——每个数组元素都是完全相同的类型 --结构体:由异构的元素组成 slice和map则是动态的数据结构,它们将根据需要动态增长。 Go语言入门篇-复合数据类型 标签:port 等价 const str range 数据类型 复合 表数 ice 原文地址:https://www.cnblogs.com/kaixinyufeng/p/9552164.html一。数组
package main
import (
"fmt"
)
func main() {
var a [3]int //声明数组,默认数组每个元素都被初始化为0值
fmt.Println(a[0]) //打印a数组的第1个元素值 0
fmt.Println(a[len(a)-1]) //打印a数组的倒数第1个值 0
fmt.Println("====================================")
for i,v:=range a{ //range a:将a数组的索引和值分别赋值给i和v
fmt.Printf("%d %d\n",i,v)
//打印值 0 0
// 1 0
// 2 0
}
fmt.Println("====================================")
for _,v:=range a{ //range a:将a的索引值赋值给_代表不关心索引值,将a数组值循环赋值给v
fmt.Printf("%d\n",v)
//打印值 0
// 0
// 0
}
fmt.Println("====================================")
var p [3]int=[3]int{1,2,3} //初始化数组,值为1,2,3
p1:=[...]int{1,2,3} //同上述p等价,数组长度位置"...",代表数组长度根据初始化值个数计算
fmt.Printf("%T\n",p1) //[3]int
var q [3]int=[3]int{1,2} //初始化数组,值为1,2,0
}
package main
import (
"fmt"
)
func main() {
type Currency int
const (
USD Currency = iota // 美元
EUR // 欧元
GBP // 英镑
RMB // 人民币
)
symbol := [...]string{USD: "$", EUR: "€", GBP: "£", RMB: "¥"}
fmt.Println(RMB, symbol[RMB]) // "3 ¥"
}