这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
本人是一名Java选手,虽说两种语言有些许的相似性,对于 golang 来说,还需要学习很多东西。 要想入门一门语言,其语法是重中之重,打好基础,后期框架的使用才会得心应手。
Go语言基础
复合数据类型——Map
在Go语言中,一个Map就是一个哈希表的引用,map类型可以写为map[K]V,对应key和value的数据类型
定义map
使用内置的make函数创建map:
ages := make(map[string]int) // mapping from strings to ints
也可以使用map字面值的语法创建map,并初始化一些值:
ages := map[string]int{
"alice": 31,
"charlie": 34,
}
使用map
插入或修改键值对元素:
ages["bob"] = 54
使用内置的delete函数来删除键值对元素:
delete(ages, "bob")
遍历map中的所有键值对元素:
for name, age := range ages {
fmt.Printf("%s\t%d\n", name, age)
}
复合数据类型——结构体struct
结构体,可以类比Java中的类,但也不完全一样,结构体用来表示一个实体,实体中的所有信息包含在结构体当中,作为一个整体的实体单元。
定义struct
结构体使用struct关键字进行定义
type Employee struct {
ID int
Name string
Address string
DoB time.Time
Position string
Salary int
ManagerID int
}
var dilbert Employee
结构体的成员变量
对于结构体中的成员变量,我们可以通过点操作符来访问结构体变量中的成员,也可以对结构体的成员变量取地址,然后通过指针的方式来访问
dilbert.Salary -= 5000 // 可以直接修改某个变量的成员变量值
position := &dilbert.Position
*position = "Senior " + *position // 通过指针的形式来操作结构体变量的成员变量
其他
结构体可以像其他数据类型一样将结构体类型作为参数传递给函数,在函数中对结构体进行相应的操作,或者定义一个结构体类型的指针,指向结构体,通过操作指针变量来间接操作结构体。