Go 複習 方法receiver

2022-04-06 01:07:50 字數 921 閱讀 4993

package main

import (

"fmt"

)type ball struct

func (b *ball) ping()

func (b ball) pong()

func main()

v.name = "wjc"

fmt.printf("v ,%p\n", &v)

v.ping()

v.pong()

fmt.println(v.name)

v1 := new(ball)

v1.name = "kelvin"

fmt.printf("v1 ,%p\n", v1)

v1.ping()

v1.pong()

fmt.println(v1.name)

}

輸出:v ,0xc0000301f0

ping ,0xc0000301f0

pong ,0xc000030200

wjcping

v1 ,0xc000030220

ping ,0xc000030220

pong ,0xc000030230

kelvinping

所以:struct 的例項和例項指標都可以呼叫值型別和指標型別 receiver 的方法。呼叫指標型別receiver的方法時,相當於傳引用。值接受者,編譯器copy乙份

但是:介面型別賦值時,值變數不能給賦值給方法為指標接受者的介面

複習 方法的過載

lesson six 2018 04 20 00 48 571.乙個專案或工程,一定是由乙個乙個類構成的。2.類是抽象的,比如建築圖紙。而具體的建築,是根據圖紙建設成的,實際上就是類的例項化 3.完成乙個專案或功能的思路 3.1所要完成的功能對應的類的物件是否存在 3.2若存在,則通過對像直接呼叫對...

go 型別方法 receiver的理解

package main import fmt type person struct func this person growth func this person changename newname string func main p.growth fmt.printf d p.age 因為...

java複習 方法的過載

方法的過載 overload 要求 1.同乙個類中 2.方法名必須相同 3.方法的引數列表不同 引數的個數不同 引數型別不同 補充 方法的過載與方法的返回值型別沒有關係!如下的四個方法構成過載 定義兩個int型變數的和 public int getsum int i,int j 定義三個int型變數...