ホームページ > バックエンド開発 > Golang > Go で非文字列オブジェクトのカスタム ToString() 機能を実装するにはどうすればよいですか?

Go で非文字列オブジェクトのカスタム ToString() 機能を実装するにはどうすればよいですか?

DDD
リリース: 2024-12-09 21:55:14
オリジナル
1005 人が閲覧しました

How Can I Implement Custom ToString() Functionality for Non-String Objects in Go?

Go のカスタム ToString() 機能

Go 言語は文字列を提供します。文字列スライスを連結するための Join 関数ですが、必要な場合はどうすればよいですか?任意のオブジェクトをカスタム文字列表現で結合するには?この疑問は、ToString() メソッドをネイティブに実装していない非文字列オブジェクトを渡す必要がある場合に発生します。

カスタム ToString() インターフェイス

これに対処するにはこの問題を解決するには、カスタム ToStringConverter インターフェイスを作成できます。

type ToStringConverter interface {
    ToString() string
}
ログイン後にコピー

このインターフェイスを実装するオブジェクトは、次のように作成できます。

func Join(a []ToStringConverter, sep string) string
ログイン後にコピー

ToString() の実装

カスタム文字列表現を有効にするには、任意の名前付き型の String() メソッドを実装するだけです。 :

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](http://play.golang.org/p/Azql7_pDAA)

出力:

101010
ログイン後にコピー

このアプローチにより、文字列連結の柔軟性が高まり、カスタマイズされた文字列表現を使用した非文字列オブジェクト。

以上がGo で非文字列オブジェクトのカスタム ToString() 機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート