Go语言 之指针变量的方法

package main

import (
    "fmt"
)

type Student04 struct {
    name    string
    sex     string
    age     int
    chinese float64
    math    float64
    english float64
}

//打招呼方法
func (s Student04) call() {
    fmt.Printf("我叫%s,今年%d岁了。是%s同学\n", s.name, s.age, s.sex)
}

func (s *Student04) getScore() {
    total := s.chinese + s.math + s.english
    agv := float64(total) / 3
    fmt.Printf("我叫%s,这次考试总成绩为%.2f分,平均成绩为%.2f分", s.name, total, agv)
}

type Person04 struct {
    name string
}

// 为结构体创建方法
func (p Person04) getName() string {
    return p.name
}

func (p *Person04) editName(n string) {
    p.name = n
}

func main() {
    p := Person04{"yy"}
    fmt.Println(p, p.getName())
    (&p).editName("yang")
    fmt.Println(p)

    var s Student04 = Student04{"yy123", "", 18, 70, 89.5, 60}
    s.call()
    (&s).getScore()
}

 

posted @ 2019-06-29 10:17  样子2018  阅读(854)  评论(0编辑  收藏  举报