在阅读完文档并查看源代码之后,我有点不确定将显式字符串传递给fmt.Sprint
函数是否有任何好处?
例如,这是:
return fmt.Sprint("this is a string")
比这样做更有益:
return "this is a string"
我认为这个函数对符合Stringer界面的类型更好吗?
答案 0 :(得分:3)
是的,Sprint
对于单个字符串几乎没用,如果你有一堆对象,Stringers是否应该使用它。它只是连接它们的字符串表示。来自TFM:
Sprint格式使用其操作数和返回的默认格式 结果字符串。两者都没有在操作数之间添加空格 是一个字符串。
所以如果你只有一根弦就没用了。如果你有很多论点,尤其是可变参数,那么肯定比fmt.Sprintf("%v %v %v", foo, bar, baz)
做的更好,特别是如果你不知道你有多少元素。