go語(yǔ)言字符串的拼接和切片方法總結(jié)
一,go字符串的本質(zhì)
go語(yǔ)言字符串的本質(zhì)就是byte[]數(shù)組,里面每一個(gè)數(shù)據(jù)存的是字符的Unicode碼。
二,字符串拼接的幾種方法
1,使用+號(hào)拼接字符串
拼接之后返回一個(gè)新的字符串。
package main
import "fmt"
func main() {
str1 := "go"
str2 := "語(yǔ)言"
re := str1 + str2
fmt.Println(re)
}2,使用fmt包的Sprintf()函數(shù)
對(duì)字符串使用格式化輸出的形式來(lái)拼接字符串。返回一個(gè)拼接之后的字符串對(duì)象。
package main
import "fmt"
func main() {
str1 := "go"
str2 := "語(yǔ)言"
re := fmt.Sprintf("%s%s", str1, str2)
fmt.Println(re)
}3,使用strings包的Join()函數(shù)

package main
import (
"fmt"
"strings"
)
func main() {
str1 := "go"
str2 := "語(yǔ)言"
re := strings.Join([]string{str1, str2}, "")
fmt.Println(re)
}4,使用bytes.Buffer儲(chǔ)存字符串再打印輸出
package main
import (
"bytes"
"fmt"
)
func main() {
str1 := "go"
str2 := "語(yǔ)言"
var buffer bytes.Buffer //聲明一個(gè)buffer變量
buffer.WriteString(str1)
buffer.WriteString(str2)
fmt.Printf("buffer.String(): %v\n", buffer.String())
}這種方式最常用。因?yàn)樗鼘⒆址優(yōu)榭勺?,?nèi)存消耗小。
三,字符串的切片
切片很好理解,[m:n]截取從m至n-1間的字符,如果缺省,則表示頭或者尾。[:]表示整個(gè)字符串。[0]表示第一個(gè)字符。

四,字符串函數(shù)

附:golang將整型切片轉(zhuǎn)換為字符串
在python中,將list轉(zhuǎn)換為str,使用str.join即可,但在golang中,strings.join要求是一個(gè)字符串類型的序列,所以可以先將序列格式化成字符串,然后替換其中的空格,再去掉收尾的[]即可。
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()
}總結(jié)
到此這篇關(guān)于go語(yǔ)言字符串的拼接和切片的文章就介紹到這了,更多相關(guān)go語(yǔ)言字符串拼接與切片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Go語(yǔ)言中字符串與字節(jié)切片轉(zhuǎn)換的詳細(xì)過(guò)程
- go中實(shí)現(xiàn)字符切片和字符串互轉(zhuǎn)
- Golang切片連接成字符串的實(shí)現(xiàn)示例
- golang字符串切片去重的幾種算法
- Golang開(kāi)發(fā)之字符串與切片問(wèn)題踩坑記錄
- 深度剖析Golang中的數(shù)組,字符串和切片
- 詳解Go語(yǔ)言如何實(shí)現(xiàn)字符串切片反轉(zhuǎn)函數(shù)
- golang 字符串切片去重實(shí)例
- Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)
- Go字符串切片操作str1[:index]的使用
相關(guān)文章
簡(jiǎn)單聊一聊Go語(yǔ)言中的數(shù)組和切片
數(shù)組和切片由于語(yǔ)法十分相似,在使用中容易混淆,要認(rèn)真區(qū)分,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中數(shù)組和切片的相關(guān)資料,需要的朋友可以參考下2021-07-07
Go語(yǔ)言開(kāi)發(fā)技巧必知的小細(xì)節(jié)提升效率
這篇文章主要介紹了Go語(yǔ)言開(kāi)發(fā)技巧必知的小細(xì)節(jié)提升效率,分享幾個(gè)你可能不知道的Go語(yǔ)言小細(xì)節(jié),希望能幫助大家更好地學(xué)習(xí)這門(mén)語(yǔ)言2024-01-01
看看你的Go應(yīng)用是否用了正確CPU核數(shù)
這篇文章主要為大家介紹了Go應(yīng)用正確的CPU核數(shù)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Golang實(shí)現(xiàn)Directional Channel(定向通道)
這篇文章主要介紹了Golang實(shí)現(xiàn)Directional Channel(定向通道),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Go語(yǔ)言對(duì)字符串進(jìn)行SHA1哈希運(yùn)算的方法
這篇文章主要介紹了Go語(yǔ)言對(duì)字符串進(jìn)行SHA1哈希運(yùn)算的方法,實(shí)例分析了Go語(yǔ)言針對(duì)字符串操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
Golang實(shí)現(xiàn)優(yōu)雅的將struct轉(zhuǎn)換為map
在項(xiàng)目實(shí)踐中,有時(shí)候我們需要將struct結(jié)構(gòu)體轉(zhuǎn)為map映射表,然后基于map做數(shù)據(jù)裁剪或操作。那么下面我來(lái)介紹下常用的兩種轉(zhuǎn)換方式,希望對(duì)大家有所幫助2023-01-01
beego獲取ajax數(shù)據(jù)的實(shí)例
下面小編就為大家分享一篇beego獲取ajax數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12

