一尘不染

Go中的ToString()函数

go

strings.Join函数仅采用字符串切片:

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))

但是,能够传递实现ToString()函数的任意对象会很好。

type ToStringConverter interface {
    ToString() string
}

Go中是否有类似的东西,还是我必须int用ToString方法来修饰现有类型并编写一个包装器strings.Join

func Join(a []ToStringConverter, sep string) string

阅读 1652

收藏
2020-07-02

共1个答案

一尘不染

String() string方法附加到任何命名类型,并享受任何自定义“ ToString”功能:

package main

import "fmt"

type bin int

func (b bin) String() string {
        return fmt.Sprintf("%b", b)
}

func main() {
        fmt.Println(bin(42))
}

游乐场:http//play.golang.org/p/Azql7_pDAA


输出量

101010
2020-07-02