golang走起(一)对象与指针@H_301_2@
代码如下:
package@H_301_7@ main
import@H_301_7@ (
"fmt"@H_301_7@
)
type@H_301_7@ Person struct@H_301_7@ {
age int@H_301_7@
}
func@H_301_7@ Create(a int@H_301_7@) (p Person) {
return@H_301_7@ Person{age: a}
}
func@H_301_7@ Add(p Person) {
p.age += 10@H_301_7@
}
func@H_301_7@ Add1(p *Person) {
p.age += 10@H_301_7@
}
func@H_301_7@ main() {
p := Create(10@H_301_7@)
fmt.Println(p)
Add(p)
fmt.Println(p)
Add1(&p)
fmt.Println(p)
}
运行结果如下:
{10}@H_301_7@@H_301_7@
{10}@H_301_7@@H_301_7@
{20}@H_301_7@@H_301_7@
可以看到对象是没有改变的,指针是改变的