Go 中 Strings.Join 的自訂 ToString 功能
在 Go 中,strings.Join 函數需要一段字串作為輸入。但是,連接支援轉換為字串的不同類型的物件可能很有用。
問題:
我們想要建立一個自訂函數Join,它需要實作ToString() 函數的物件切片,並將它們的字串表示形式與指定的字串連接起來
解:
我們可以使用Go內建的 String() 方法,而不是定義特定的 ToString() 介面。只需將此方法附加到任何命名類型,您將自動獲得自訂字串表示形式的能力。
範例:
以下是建立自訂字串的範例擴充標準int 的型別(bin)型別:
package main import "fmt" type bin int func (b bin) String() string { return fmt.Sprintf("%b", b) } func main() { fmt.Println(bin(42)) }
輸出:
101010
在此範例中,整數42 的二進位表示形式被印到控制台。請注意,我們可以直接在 bin 類型上呼叫 fmt.Println,因為它現在附加了 String() 方法。
透過使用 String() 方法,我們無需自訂 ToString() 介面或包裝函數。它使我們能夠輕鬆擴展現有類型並針對各種用例自訂其字串表示形式。
以上是如何在 Go 中為字串切片之外的物件自訂字串連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!