package main
import "fmt"
type Person struct {
name string
hobby []string
age int
sex bool
}
func (p *Person)Eat() {
fmt.Printf("%s吃紅燒肉\n",p.name)
fmt.Printf("%s吃大蝦🦐\n",p.name)
}
func (p *Person)Love() {
fmt.Printf("Love\n")
}
func main() {
//創建物件時給指定屬性賦值
Regan:=Person{name: "ReganYue",sex: true,age: 20}
Regan.Eat()
//創建物件時按順序給所有屬性賦值
yangge:=Person{"yangge",[]string{"擼代碼","撩妹"},20,true}
yangge.Love()
//要求傳遞值就必須傳遞值
//要求傳遞指標就必須傳遞指標
MakeHimLove(yangge)
MakeHisPtrLove(&yangge)
//值傳遞的是副本,參考傳遞傳遞的才是真身
for i:=0;i<7;i++{
MakeHisPtrLove(&Regan)
}
fmt.Printf("暴風雨后ta的年齡是%d\n",Regan.age)
}
//值傳遞傳遞的是物件的副本
func MakeHimLove(p Person) {
p.Love()
p.age-=1
}
//參考傳遞傳遞的是物件的地址
func MakeHisPtrLove(p *Person) {
p.Love()
p.age-=1
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/263328.html
標籤:區塊鏈
