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

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())
}這種方式最常用。因為它將字符串變?yōu)榭勺?,?nèi)存消耗小。
三,字符串的切片
切片很好理解,[m:n]截取從m至n-1間的字符,如果缺省,則表示頭或者尾。[:]表示整個字符串。[0]表示第一個字符。

四,字符串函數(shù)

附:golang將整型切片轉(zhuǎn)換為字符串
在python中,將list轉(zhuǎn)換為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()
}總結(jié)
到此這篇關(guān)于go語言字符串的拼接和切片的文章就介紹到這了,更多相關(guān)go語言字符串拼接與切片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
看看你的Go應(yīng)用是否用了正確CPU核數(shù)
這篇文章主要為大家介紹了Go應(yīng)用正確的CPU核數(shù)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
Golang實現(xiàn)Directional Channel(定向通道)
這篇文章主要介紹了Golang實現(xiàn)Directional Channel(定向通道),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
Golang實現(xiàn)優(yōu)雅的將struct轉(zhuǎn)換為map
在項目實踐中,有時候我們需要將struct結(jié)構(gòu)體轉(zhuǎn)為map映射表,然后基于map做數(shù)據(jù)裁剪或操作。那么下面我來介紹下常用的兩種轉(zhuǎn)換方式,希望對大家有所幫助2023-01-01

