我在golang中有一堆字符串和[]字符串,我需要连接它们.但由于某些原因,我需要摆脱很多空白.
这是代码
tests := strings.TrimSpace(s[0]) dep_string := make ([]string, len(tests) + len(sfinal)) dep_string = append (dep_string,tests) for _,v := range sfinal { dep_string = append(dep_string,v) } fmt.Println("dep_String is ",dep_string) Input: s[0] = "filename" sfinal = [test test1] expected output [filename test test1] actual output [ filename test test1]
这真的很奇怪; 即使使用TrimSpace后我也无法摆脱多余的空间.有没有有效的方法来连接它们?
空白是由dep_string中的所有空元素引起的.当您使用make函数时,它会创建一个具有指定长度和容量的切片,并填充一堆任何内容.然后,当您使用append时,它会看到切片已达到其最大容量,扩展切片,然后在所有内容之后添加您的元素.解决方案是制作一个能够容纳所有元素的切片,但初始长度为零:
dep_string := make ([]string, 0, len(tests) + len(sfinal))
strings.TrimSpace是不必要的.您可以在http://blog.golang.org/slices上阅读更多内容