Go语言对象方法学习
2019-05-07 本文已影响0人
醉酒的姑娘
package main
import "fmt"
type student01 struct {
name string
age int
score int
}
func (s student01)print(){
s.score=-9
fmt.Println(s)
}
func main() {
stu:=student01{"小花",20,-5}
//值传递
stu.print()
fmt.Println(stu)
}
数据结果为
{小花 20 -9}
{小花 20 -5}
在print方法内并没有修改到score的值,若要修改score的值需要将print方法前的对象传入指针类型,修改如下
package main
import "fmt"
type student01 struct {
name string
age int
score int
}
//方法的接收者是指针类型
func (s *student01)print(){
s.score=-9
fmt.Println(s)
}
func main() {
stu:=student01{"小花",20,-5}
//值传递
stu.print()
fmt.Println(stu)
}
输出结果
&{小花 20 -9}
{小花 20 -9}