gpt4 book ai didi

go - 调用基本类型的方法

转载 作者:行者123 更新时间:2023-12-01 22:41:21 24 4
gpt4 key购买 nike

我有一个来自软件包的类型,内部是[]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()
}

关于go - 调用基本类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63439875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com