Go的OOP
package mainimport ("fmt"
)type Point struct {px float32;py float32;
}
// 記住哦 *Point前面的pont只是一個形參 就是實例化對象的形參 只是在此函數中有用
// 出了此函數 沒有意義了
// 后面在進行實例化 調用此函數的時候 還會進行再次實例化 那才是實參
// 所以說前面的虛參實例化是沒有意義的,其實際地址是不一樣的 只是名稱可能會一樣
// 所以即使實例化對象的名稱一樣 他們的值也沒有辦法進行跨函數傳值設置值 所以只能通過引用傳值進行傳值
// 對類的屬性進行設置值
// 這樣就保存在了類的成員屬性之中里面了
func (pont *Point) setName(px,py float32){pont.px=px;pont.py=py;//不加*返回1200 加*返回1212//不加*的話 意味著這邊只是復制值 復制給了point.px point.py// 但是之后的數值沒有更改 說明只是對當前的方法里面的值進行了更改 在方法之外不會有效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);}
?
總結
- 上一篇: 哈尔滨公交车扫码支付怎么用
- 下一篇: Go创建赋值数组