在Golang

时间:2016-09-21 09:29:41

标签: string go

在阅读完文档并查看源代码之后,我有点不确定将显式字符串传递给fmt.Sprint函数是否有任何好处?

例如,这是:

return fmt.Sprint("this is a string")

比这样做更有益:

return "this is a string"

我认为这个函数对符合Stringer界面的类型更好吗?

1 个答案:

答案 0 :(得分:3)

是的,Sprint对于单个字符串几乎没用,如果你有一堆对象,Stringers是否应该使用它。它只是连接它们的字符串表示。来自TFM:

  

Sprint格式使用其操作数和返回的默认格式   结果字符串。两者都没有在操作数之间添加空格   是一个字符串。

所以如果你只有一根弦就没用了。如果你有很多论点,尤其是可变参数,那么肯定比fmt.Sprintf("%v %v %v", foo, bar, baz)做的更好,特别是如果你不知道你有多少元素。