内容简介:这个是利用
+号拼接
这种拼接最简单,也最容易被我们使用,因为它是不限编程语言的,比如 Go 语言有,Java也有,它们是
+
号运算符,在运行时计算的。
var s string s+="昵称"+":"+"志强1224"+"\n" s+="联系方式QQ"+":"+"354662600"+"\n" fmt.Println(s)
fmt 拼接
这种拼接,借助于
fmt.Sprint
系列函数进行拼接,然后返回拼接的字符串。
fmt.Sprint("昵称",":","志强1224","\n","联系方式QQ",":","354662600")
Join 拼接
这个是利用 strings.Join
函数进行拼接,接受一个字符串数组,转换为一个拼接好的字符串。
s:=[]string{"昵称",":","志强1224","\n","联系方式QQ",":","354662600"}
fmt.Println(strings.Join(s,""))
buffer 拼接
使用的是
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())
builder 拼接
为了改进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语言字符串高效拼接》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python语言程序设计
(美)Y. Daniel Liang / 机械工业出版社 / 2013-3 / 79.00元
本书保持了Liang博士系列丛书中一贯的、标志性的教与学的哲学:以实例教,由实践学。书中采用了他所提出的已经经过实践检验的“基础先行”的方法,即在定义类之前,首先使用清晰简明的语言介绍基本程序设计概念,如选择语句、循环和函数;在介绍面向对象程序设计和GUI编程之前,首先介绍基本逻辑和程序设计概念。书中除了给出一些以游戏和数学为主的典型实例外,还在每章的开始使用简单的图形给出一两个例子,以激发学生的......一起来看看 《Python语言程序设计》 这本书的介绍吧!