登录
首页 >  Golang >  Go问答

如何给go语言封装一个Tostring()函数,支持int,[]byte,float等各种基本类型

来源:SegmentFault

时间:2023-01-08 20:45:00 145浏览 收藏

本篇文章向大家介绍《如何给go语言封装一个Tostring()函数,支持int,[]byte,float等各种基本类型》,主要包括go,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

就像OO编程中,一个函数名,支持多种参数一样

但这里只需要1个参数

正确答案

你需要用到switch和类型检测; 参加下面的check函数如何处理传入的

value分别为error,string和bool
3种不同类型的.

func check(value interface{}) {
    /*
        This is an assert function;

        input:
                    value can be bool, error or string

        output:
            check will panic when value is false(bool) or error(not nil) or string(not empty),
            however NOTHING will happen when value is nil

    */

    if value == nil {
        return
    }

    switch v := value.(type) {
    case error:
        e, _ := value.(error)
        if e != nil {
            panic(e)
        }
    case bool:
        b, _ := value.(bool)
        if b == false {
            panic("Abort!")
        }
    case string:
        s, _ := value.(string)
        if len(s) > 0 {
            panic(s)
        }
    default:
        panic(v)
    }
}

到这里,我们也就讲完了《如何给go语言封装一个Tostring()函数,支持int,[]byte,float等各种基本类型》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

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