Go语言:数据类型、运算符、控制流与函数全解析
1. Go的用户定义类型
在Go语言中,除了常见的基本类型,还支持用户自定义类型,主要包括结构体(Structs)和接口(Interfaces)。
1.1 结构体
结构体是一种数据结构,它代表了一组具有各自数据类型的字段集合。结构体有点像映射(map),不过这里的键是固定的,它们成为变量名的扩展。
下面我们定义一个路由器(Router)结构体,它包含四个字符串字段和一个布尔字段:
type Router struct {
Hostname string
Platform string
Username string
Password string
StrictKey bool
}
这个新类型还可以成为另一个用户定义类型的一部分,比如下面的Inventory类型,它包含一个我们刚刚定义的路由器切片:
type Inventory struct {
Routers []Router
}
以下是创建结构体实例并为其字段赋值的几个示例:
func main() {
var r1 Router
r1.Hostname = "router1.example.com"
r2 := new(Router)
r2.Hostname = "route