go 笔记 第九章 结构体 struct 声明和使用

package main

import “fmt”

type qm struct {
name string
age int
hobby []string
home
}

type home struct {
address string
}

// 给结构体声明方法
func (q qm) song(name string) (ret string) {
ret = “惊雷”
fmt.Printf(“%v—%v–%v”, q.name, name, q.age)
fmt.Println()
return ret
}

func (h home) open() {
fmt.Println(“open”)
}

func main() {
var a qm
a.name = “jim”
a.age = 18
a.hobby = []string{“singing”, “swimming”}
a.song(“haha”)
a.address = “shanghai”
a.open()
fmt.Println(a)

b := qm{
	"Tom", 17, []string{"running"}, home{"beijing"},
}
fmt.Println(b)
// 用 new 方法,直接得到地址
c := new(qm)
d := c
d.age = 12
fmt.Println(c)

// 获取结构体单一属性,用 . 点
fmt.Println(c.age)

// 结构体(map, 数组)可以直接通过指针修改值
f := &b
f.age = 35
fmt.Println(a, f)

}

你可能感兴趣的:(笔记,go,golang,笔记,开发语言)