go语言 方法
go?語言中沒有類,但是是有方法。
方法的定義:
func (recevier type) methodName(參數列表)(返回值列表){ }
方法和函數有什么區別呢?
函數可以說誰都可以調用,而方法只有接收者類型相同的才可以調用。當然了,定義上也是不同的,方法是包含了接收者的函數。
下面演示一個例子,說明方法接收者值傳遞和引用傳遞的區別
package mainimport ("fmt" )type Int int //自定義類型Intfunc (i *Int) add(a, b int) { //接收者類型是Int類型的指針,引用類型*i = Int(a + b)return } func (i Int) Add(a, b int) { //接收者類型是Int類型,值類型i = Int(a + b)return } func main() {var b Intvar c Intb.add(100, 200) //300 些時傳入的接者i是&b,就是變量b的地址相當于(&b).add(100,200),add方法內部:*(&b)=Int(100+200) 就是這個i指針指向的變量b的值改變為300fmt.Println(b)c.Add(100,200) //值傳遞不帶回主函數fmt.Println(c) // 0}
轉載于:https://www.cnblogs.com/wanghaijun999/p/8157142.html
總結
- 上一篇: Linux系统下面crontab选择默认
- 下一篇: msyql备份还原