Go的OOP
package mainimport ("fmt"
)type Point struct {px float32;py float32;
}
// 記住哦 *Point前面的pont只是一個(gè)形參 就是實(shí)例化對(duì)象的形參 只是在此函數(shù)中有用
// 出了此函數(shù) 沒(méi)有意義了
// 后面在進(jìn)行實(shí)例化 調(diào)用此函數(shù)的時(shí)候 還會(huì)進(jìn)行再次實(shí)例化 那才是實(shí)參
// 所以說(shuō)前面的虛參實(shí)例化是沒(méi)有意義的,其實(shí)際地址是不一樣的 只是名稱可能會(huì)一樣
// 所以即使實(shí)例化對(duì)象的名稱一樣 他們的值也沒(méi)有辦法進(jìn)行跨函數(shù)傳值設(shè)置值 所以只能通過(guò)引用傳值進(jìn)行傳值
// 對(duì)類的屬性進(jìn)行設(shè)置值
// 這樣就保存在了類的成員屬性之中里面了
func (pont *Point) setName(px,py float32){pont.px=px;pont.py=py;//不加*返回1200 加*返回1212//不加*的話 意味著這邊只是復(fù)制值 復(fù)制給了point.px point.py// 但是之后的數(shù)值沒(méi)有更改 說(shuō)明只是對(duì)當(dāng)前的方法里面的值進(jìn)行了更改 在方法之外不會(huì)有效fmt.Print(pont.px,pont.py);
}func (poin *Point) getName()(float32,float32){return poin.px,poin.py;
}func main(){point:=new(Point);point.setName(1.0,2.0);px,py:=point.getName();fmt.Print(px,py);}
?
總結(jié)
- 上一篇: 哈尔滨公交车扫码支付怎么用
- 下一篇: Go创建赋值数组