Golang字符串公共元素输出异常:如何去除多余字节值?
问题原因
你的问题出在main函数里的println(fmt.Printf(...))这行代码:
fmt.Printf本身就会将格式化后的内容输出到标准输出,同时它会返回两个值:写入的字节数和错误对象- 你用
println把这两个返回值又打印了一遍,所以输出里的18就是"common element = i"的字节长度,(0x0,0x0)是nil错误的表示
解决方法
有两种简单的修正方式:
方法1:直接使用fmt.Printf
去掉外层的println,因为fmt.Printf本身就负责输出内容:
func main() { fmt.Printf("common element = %s\n", findCommonElement("abcdefghi", "ijklmnopq")) }
方法2:用fmt.Sprintf生成字符串后再println
如果一定要用println,先通过fmt.Sprintf生成格式化好的字符串,再传给println:
func main() { result := fmt.Sprintf("common element = %s", findCommonElement("abcdefghi", "ijklmnopq")) println(result) }
修正后的输出
两种方法都会得到干净的输出:
i common element = i
内容的提问来源于stack exchange,提问作者MaPi
相关产品推荐
相关产品推荐

