go语言字符串的拼接和切片方法总结

在go语言中,因为字符串只能被访问,不能被修改,所以进行字符串拼接的时候,golang都需要进行内存拷贝,造成一定的性能消耗,这篇文章主要给大家介绍了关于go语言字符串的拼接和切片的相关资料,需要的朋友可以参考下

一,go字符串的本质

go语言字符串的本质就是byte[]数组,里面每一个数据存的是字符的Unicode码。

二,字符串拼接的几种方法

1,使用+号拼接字符串

拼接之后返回一个新的字符串。

package main import "fmt" func main() { str1 := "go" str2 := "语言" re := str1 + str2 fmt.Println(re) }

2,使用fmt包的Sprintf()函数

对字符串使用格式化输出的形式来拼接字符串。返回一个拼接之后的字符串对象。

package main import "fmt" func main() { str1 := "go" str2 := "语言" re := fmt.Sprintf("%s%s", str1, str2) fmt.Println(re) }

3,使用strings包的Join()函数

package main import ( "fmt" "strings" ) func main() { str1 := "go" str2 := "语言" re := strings.Join([]string{str1, str2}, "") fmt.Println(re) }

4,使用bytes.Buffer储存字符串再打印输出

package main import ( "bytes" "fmt" ) func main() { str1 := "go" str2 := "语言" var buffer bytes.Buffer  //声明一个buffer变量 buffer.WriteString(str1) buffer.WriteString(str2) fmt.Printf("buffer.String(): %v\n", buffer.String()) }

这种方式最常用。因为它将字符串变为可变,内存消耗小。

三,字符串的切片

切片很好理解,[m:n]截取从m至n-1间的字符,如果缺省,则表示头或者尾。[:]表示整个字符串。[0]表示第一个字符。

四,字符串函数

附:golang将整型切片转换为字符串

在python中,将list转换为str,使用str.join即可,但在golang中,strings.join要求是一个字符串类型的序列,所以可以先将序列格式化成字符串,然后替换其中的空格,再去掉收尾的[]即可。

package main import "fmt" func Int2Str() { a := []int{1, 2, 3, 4, 5} fmt.Println(strings.Trim(strings.Replace(fmt.Sprint(a), " ", ",", -1), "[]"))	// 1,2,3,4,5 } func main() { Int2Str() }

总结

到此这篇关于go语言字符串的拼接和切片的文章就介绍到这了,更多相关go语言字符串拼接与切片内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是go语言字符串的拼接和切片方法总结的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程