1. ホーム
  2. go

[解決済み] GoのToString()関数

2022-08-07 19:07:01

質問

質問 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

どのように解決するのですか?

を付ける。 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