Go の Strings.Join 用のカスタム ToString 機能
Go では、strings.Join 関数は入力として文字列のスライスを必要とします。ただし、文字列への変換をサポートするさまざまなタイプのオブジェクトを結合すると便利です。
問題:
カスタム関数 Join を作成したいと考えています。 ToString() 関数を実装し、その文字列表現を指定された文字列で結合するオブジェクトのスライスseparator.
解決策:
特定の ToString() インターフェイスを定義する代わりに、Go の組み込み String() メソッドを利用できます。このメソッドを任意の名前付き型にアタッチするだけで、文字列表現をカスタマイズできるようになります。
例:
カスタムの作成例を次に示します。標準の int を拡張した型 (bin) type:
package main import "fmt" type bin int func (b bin) String() string { return fmt.Sprintf("%b", b) } func main() { fmt.Println(bin(42)) }
Output:
101010
この例では、整数 42 のバイナリ表現がコンソールに出力されます。 String() メソッドがアタッチされているため、bin 型に対して fmt.Println を直接呼び出すことができることに注意してください。
String() メソッドを使用することで、カスタム ToString() インターフェイスやラッパー関数。これにより、既存の型を簡単に拡張し、さまざまなユースケースに合わせて文字列表現をカスタマイズできます。
以上がGo で文字列スライスを超えたオブジェクトの文字列結合をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。