Go结构体基础学习 Go结构体基础学习 发表于 2021-11-15 Go结构体基础学习** 直接看示例代码和注释 ** 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556go复制代码package mainimport "fmt"// Person 创建一个结构体type Person struct { name string age int gender string}func main() { fmt.Println("im go .") // 实例化结构体 // 第一种方法 var p Person p.name = "canyon" p.age = 24 p.gender = "男" fmt.Printf("first method: 姓名: %v 年龄: %v 性别: %v\n", p.name, p.age, p.gender) // 第二种方法 p2 := Person{} p2.name = "张三" p2.age = 18 p2.gender = "男不男" fmt.Printf("second method: 姓名: %v 年龄: %v 性别: %v\n", p2.name, p2.age, p2.gender) // 第三种方法: 直接赋值 p3 := Person{ name: "李四", age: 19, gender: "男", } fmt.Printf("third method: 姓名: %v 年龄: %v 性别: %v\n", p3.name, p3.age, p3.gender) p4 := Person{ "王五", 20, "女吧", } fmt.Printf("third-2 method: 姓名: %v 年龄: %v 性别: %v\n", p4.name, p4.age, p4.gender) fmt.Println("——————————————————————————————————") // 创建结构体指针 var pp1 *Person fmt.Print("pp1: ", pp1) // fmt.Printf("%T\n", pp1) // p3的内存地址赋值给pp1 pp1 = &p3 fmt.Printf("%T\n", pp1) fmt.Printf("%p, %T\n", pp1, pp1) fmt.Println("p3: ",p3) // 这个指针存储的地址对应的数据 fmt.Println("指针存的数据: ", *pp1) pp1.name = "李六" 等价于 (*pp1).name = "李六" fmt.Println("指针存的数据: ", *pp1) fmt.Println("p3的数据: ", p3)} 本文转载自: 掘金 开发者博客 – 和开发相关的 这里全都有