登录
首页 >  Golang >  Go问答

修改函数参数使用空接口

来源:stackoverflow

时间:2024-03-10 20:57:24 134浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《修改函数参数使用空接口》,涉及到,有需要的可以收藏一下

问题内容

我正在使用 golang,我有一个问题:

我可以写这个函数:

func newprint(a interface{}){
    switch a.(type){
    case int:
        fmt.println("this is integer")
    case string:
        fmt.println("this is string")
    case float:
        fmt.println("this is float")
}
}

我想使用一个使用空接口的函数,并根据其类型更改 arg。 例如:

如果 arg 类型是 int i 想要向其添加 2 个单位

如果 arg 类型是 float i 想要向其添加 5 个单位并且

如果 arg 的类型是字符串,则打印它


解决方案


要修改变量,请将指向变量的指针传递给函数:

func newchange(a interface{}) {
    switch a := a.(type) {
    case *int:
        *a += 2
    case *float64:
        *a += 5.0
    }
}

这样称呼它:

a := 1
newChange(&a)

Run this program on the GoLang PlayGround

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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