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中文网其他相关文章!