Go
中的结构体与c/c++
语言中是差不多,然而对没有接触过c/c++
语言的话,对在看到结构体这一复合类型
是新鲜事物。
1、定义结构体
type structName struct {
varName,varName2,varName3 Type
}
// 使用 type struct 关键字定义结构体,
2、结构体实例化
既然结构体是一个复合类型,那就可以像基本类型等其他类型一样。
package main
import (
"fmt"
)
type color struct {
white, black, red rune
}
var c color
func main() {
c.white = '白'
c.black = '黑'
c.red = '红'
fmt.Println(c)
}
3、创建指针类型的结构体
var varName = new(Type)
//Type可以是整型、字符串、结构体等其他类型,而 varName则是 *Type 指针类型
package main
import (
"fmt"
)
type site struct {
name string
age int
}
var web = new(site)
func main() {
web.name = "https://qiucode.cn"
web.age = 4
fmt.Println(web)
(*web).name = "https://qiucode.cn"
(*web).age = 4
fmt.Println(web)
}
4、获取结构体地址
在Go
中使用&
获取结构体地址。
var varName = &Construct{}