golang 结构体中的变量,添加匿名字段(struct)后的成员变量和成员方法的访问

Golang · Fecmall · 于 5年前 发布 · 3237 次阅读
package main

import (
	"fmt"
)

type Animal struct {
	Age int
}

type Person struct {
	Animal
	Sex int
}

func (animal *Animal) getAge() int {
	return animal.Age
}

func (animal *Animal) getName() string {
	return "animal"
}

func (person Person) getSexName() string {
	return "man"
}

func (person Person) getName() string {
	return "person"
}

func main() {
	var person Person
	person.Age = 20
	person.Sex = 1
	fmt.Println(person.getAge())
	fmt.Println(person.getSexName())
	fmt.Println(person.getName())
}

输出

20
man
person


成员变量,是指针类型

package main

import (
	"fmt"
)

type Animal struct {
	Age int
}

type Person struct {
	*Animal
	Sex int
}

func (animal *Animal) getAge() int {
	return animal.Age
}

func (animal *Animal) getName() string {
	return "animal"
}

func (person Person) getSexName() string {
	return "man"
}

func (person Person) getName() string {
	return "person"
}

func main() {
	var person = Person{&Animal{20}, 1}
	fmt.Println(person.getAge())
	fmt.Println(person.getSexName())
	fmt.Println(person.getName())
}

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics