登录
首页 >  Golang >  Go问答

调用基类型的方法

来源:stackoverflow

时间:2024-03-30 10:06:27 107浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《调用基类型的方法》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

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

到这里,我们也就讲完了《调用基类型的方法》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>