首頁 > 後端開發 > Golang > 如何在 Go 中為字串切片之外的物件自訂字串連接?

如何在 Go 中為字串切片之外的物件自訂字串連接?

DDD
發布: 2024-12-18 00:54:10
原創
190 人瀏覽過

How Can I Customize String Joining in Go for Objects Beyond String Slices?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板