golang struct 使用总结:
- struct 有点相当于 php的类(class)
- new一个struct的实例
package main import "fmt" type person struct { name string city string age int8 } func main() { var p2 = new(person) p2.name = "测试" p2.age = 18 p2.city = "北京" fmt.Printf("p2=%#v\n", p2) //p2=&main.person{name:"测试", city:"北京", age:18} p3 := &person{} p3.name = "qqq" p3.age = 16 p3.city = "杭州" }
- 正常情况下获取一个实例是这种方法:
var p2 = new(person)
还有一个情况下是这个方法, 直接取struct地址:
######## # # 使用&对结构体进行取地址操作相当于对该结构体类型进行了一次new实例化操作。 # ######## var p6 = &person{}
- 一般情况下都是使用 &地址的方式, 一开始我一直疑惑项目里面都用&的方式实例对象, 那么这些实例的值是不是都一样,被覆盖呢? 后来还是我把指针学混了呀, 希望大家不要搞混了!