go學習-method

初始化

package main

import (
	"fmt"
)

type A struct {
	Name string
}

type B struct {
	Name string
}

func main() {
	a := A{}
	a.print()
}

func (a A) print() {
	fmt.Println("print A")
}

引用傳遞與值傳遞

package main

import (
	"fmt"
)

type A struct {
	Name string
}

type B struct {
	Name string
}

func main() {
	a := A{}
	a.print()
	fmt.Println(a)

	b := B{}
	b.print()
	fmt.Println(b)
}

func (a *A) print() {
	a.Name = "AA"
}

func (b B) print() {
	b.Name = "BB"
}

底層結構爲基本類型,方法添加

package main

import (
	"fmt"
)

type myint int8

func main() {
	var a myint
	a.print()
}

func (a *myint) print() {
	fmt.Println("myint")
}

方法傳遞

package main

import (
	"fmt"
)

type A struct {
	Name string
}

type B struct {
	A
}

func main() {
	b := B{}
	b.print()
}

func (a *A) print() {
	fmt.Println("myint")
}

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