Go 定義對象(類)的方法

 

demo.go(定義對象(類)的方法):

package main

import "fmt"

// type爲類型取別名
type MyInt int  // 不允許爲基本類型(int)對象定義方法。

// 定義對象(類)的方法:   func (對象類型參數)方法名(參數列表)(返回值列表){ }
func (obj MyInt) add(b int) int {  // 對象調用時,會自動將對象傳給obj
	return int(obj) + b
}
// 如果想通過方法修改對象,那麼建議傳遞對象的地址 (結構體是值傳遞,通過結構體的指針修改結構體(地址傳遞))  (也可以通過返回值修改對象)
//func (obj *MyInt) add() { }  // 對象調用時,會自動將對象的地址傳給obj

func main() {
	var a MyInt = 5
	// 調用對象的方法
	sum := a.add(10)
	fmt.Println(sum)  // 15
	
	// 對象的方法名可以和函數名相同,對象的方法名可以和其他類型對象的方法名相同。(方法是和對象的類型綁定的) 
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章