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}
上一篇下一篇

猜你喜欢

热点阅读