这篇文章主要介绍“Go语言字符串的高效拼接方法”,在日常操作中,相信很多人在Go语言字符串的高效拼接方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言字符串的高效拼接方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
创新互联建站主要从事成都网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务隆子,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如Go语言有,Java也有,它们是+
号运算符,在运行时计算的。
var s string s+="昵称"+":"+"志强1224"+"\n" s+="联系方式QQ"+":"+"354662600"+"\n" fmt.Println(s)
这种拼接,借助于fmt.Sprint
系列函数进行拼接,然后返回拼接的字符串。
fmt.Sprint("昵称",":","志强1224","\n","联系方式QQ",":","354662600")
这个是利用strings.Join
函数进行拼接,接受一个字符串数组,转换为一个拼接好的字符串。
s:=[]string{"昵称",":","志强1224","\n","联系方式QQ",":","354662600"} fmt.Println(strings.Join(s,""))
使用的是bytes.Buffer
进行的字符串拼接,它是非常灵活的一个结构体,不止可以拼接字符串,还是可以byte
,rune
等,并且实现了io.Writer
接口,写入也非常方便。
var b bytes.Buffer b.WriteString("昵称") b.WriteString(":") b.WriteString("志强1224") b.WriteString("\n") b.WriteString("联系方式QQ") b.WriteString(":") b.WriteString("354662600") b.WriteString("\n") fmt.Println(b.String())
为了改进buffer拼接的性能,从go 1.10 版本开始,增加了一个builder类型,用于提升字符串拼接的性能。它的使用和buffer几乎一样。
var b strings.Builder b.WriteString("昵称") b.WriteString(":") b.WriteString("志强1224") b.WriteString("\n") b.WriteString("联系方式QQ") b.WriteString(":") b.WriteString("354662600") b.WriteString("\n") fmt.Println(b.String())
func StringPlus(p []string) string{ var s string l:=len(p) for i:=0;i<l;i++{ s+=p[i] } return s } func StringFmt(p []interface{}) string{ return fmt.Sprint(p...) } func StringJoin(p []string) string{ return strings.Join(p,"") } func StringBuffer(p []string) string { var b bytes.Buffer l:=len(p) for i:=0;i<l;i++{ b.WriteString(p[i]) } return b.String() } func StringBuilder(p []string) string { var b strings.Builder l:=len(p) for i:=0;i<l;i++{ b.WriteString(p[i]) } return b.String() }
到此,关于“Go语言字符串的高效拼接方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
分享文章:Go语言字符串的高效拼接方法
分享路径:https://www.cdcxhl.com/article28/jjhcjp.html
成都网站建设公司_创新互联,为您提供域名注册、App开发、企业网站制作、网站建设、标签优化、自适应网站
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联