我有一个来自包的类型,[]byte
内部是类型,我想使用别名,并且仅使用其几个方法和一些我自己的方法。我遇到的问题是如何调用基础方法?
问题的一个例子:
https://play.golang.org/p/IIGket_W7rk
package main
import (
"fmt"
)
// Some type from package
type original int
func (o *original) Add() {
i := *o
i++
*o = i
}
// alias type with own method
type alias original
func (o *alias) Add() {
i := *o
i.Add()
}
func main() {
fmt.Println("Hello, playground")
i := original(2)
fmt.Println(i)
i.Add()
fmt.Println(i)
o := alias(2)
fmt.Println(o)
o.Add()
fmt.Println(o)
}
您正在original.Add
变量的本地副本上调用该方法。在接收器上调用它:
type alias original
func (o *alias) Add() {
(*original)(o).Add()
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句