Go结构体基础知识
package main
import "fmt"
type STR string
func main() {
type person struct {
name, city string
age int8
address STR
}
var p person
p.name="张三"
p.city="北京"
p.age=18
p.address="北京市朝阳区"
fmt.Println(p)
fmt.Printf("%T\n",p)
fmt.Printf("%v\n",p)
fmt.Printf("%+v\n",p)
fmt.Printf("%#v\n",p)
var p1=new(person)
fmt.Println(p1)
fmt.Printf("%T\n",p1)
p1.name="李四"
fmt.Println(p1)
p2:=&person{
name: "王五",
city: "江苏",
age: 18,
address: "江苏省徐州市",
}
fmt.Println(p2)
fmt.Printf("%T\n",p2)
p2.age=16
fmt.Println(p2)
var p3 person
fmt.Printf("%#v\n", p3)
p4 := person{
name: "王五",
city: "江苏",
age: 18,
address: "江苏省徐州市",
}
fmt.Printf("%#v\n", p4)
}
type student struct {
name string
age int
}
func main() {
m := make(map[string]*student)
stus := []student{
{name: "pprof.cn", age: 18},
{name: "测试", age: 23},
{name: "博客", age: 28},
}
for _, stu := range stus {
m[stu.name] = &stu
}
for k, v := range m {
fmt.Println(k, "=>", v.name)
}
}