- 结构体定义:
type 结构体名 struct{
变量名1 变量类型1
变量名2 变量类型2
…
}
- 结构体初始化
结构体名{值1,值2,…}
结构体名{变量名1:值1,变量名2:值2,…}
package main
import "fmt"
type Student struct {
name string
id int
sex bool
}
func main() {
a := Student{"小明", 123, true}
fmt.Println(a)
fmt.Printf("name = %s\n", a.name)
fmt.Printf("id = %d\n", a.id)
fmt.Printf("sex = %v\n", a.sex)
}
{小明 123 true}
name = 小明
id = 123
sex = true
- 结构体的方法
package main
import "fmt"
type Student struct {
name string
id int
sex bool
}
type Node struct {
x int
y int
}
func main() {
a := Student{"小明", 123, true}
a.out()
k := Node{9, 1}
fmt.Println(k.add())
}
func (stu Student) out() {
fmt.Printf("%v %v %v\n", stu.name, stu.id, stu.sex)
}
func (node Node) add() int {
return node.x + node.y
}
小明 123 true
10