Go語言怎麼拼接字串
拼接字串的方法:1.使用「」號拼接,語法「str = str1 str2」;2、利用fmt套件的sprintf()函數拼接,語法「str = fmt.Sprintf("% s%d%s", s1, i, s2)」;3、使用join函數拼接;4、利用buffer套件的WriteString()函數拼接;5、利用buffer套件的Builder()函數拼接。
本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
Go 語言 拼接 字串 有五種方法,分別是:使用 號拼接、使用 sprintf 拼接、使用 join 函數 拼接、使用 buffer.WriteString 函數拼接、使用 buffer.Builder 拼接。
方法1:使用
號碼拼接
str = str1 + str2
使用可以實作字串的拼接,使用號碼拼接字串的前提是要拼接的必須全是字串型別。這裡,我們使用加號,實作了將 str1 和 str2 拼接成了字串 str。
範例:
package main import ( "fmt" ) func main() { //使用+号形式,实现拼接字符串 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := str1 + str2 fmt.Println("strHaiCoder =", strHaiCoder) }
#分析:
首先,我們定義了一個字串 變量,賦值為“Hello,”,接著又定義了一個字串變量,賦值為“HaiCoder”。我們使用 號碼的形式,實作了把字串 str1 和 字串 str2 進行了拼接,並把拼接結果賦值給變數 strHaiCoder。
最後,我們使用 print() 函數,列印變數 strHaiCoder,發現輸出了 “Hello,HaiCoder”,即我們透過 號實現了字串的拼接。
方法2:使用sprintf 拼接
str = fmt.Sprintf("%s%d%s", s1, i, s2)
使用sprintf 拼接字串,可以實作任意 資料類型 的拼接,這裡,我們實作了將字串s1、整數 i 和字串s2 拼接在了一起。
範例:
package main import ( "fmt" ) func main() { //使用 sprintf,实现拼接字符串和数字 str1 := "Hello," str2 := "HaiCoder" strHaiCoder := fmt.Sprintf("%s %d %s", str1, 1024, str2) fmt.Println("strHaiCoder =", strHaiCoder) }
#分析:
首先,我們定義了一個字串變量,賦值為“Hello,”,接著又定義了一個字串變量,賦值為“HaiCoder”。
我們使用 fmt.Sprintf,實作了把字串 str1,數字 1024 和 字串 str2 進行了拼接,並把拼接結果賦值給變數 strHaiCoder。
最後,我們使用 print() 函數,列印變數 strHaiCoder,發現輸出了 “Hello, 1024 HaiCoder”,即我們透過 fmt.Sprintf 實現了字串的拼接。
方法3:使用join 函數 拼接
#var str []string = []string{s1, s2} s := strings.Join(str, "")
使用Join 拼接字串,實際上是將字串陣列連接起來,這裡,我們實作了將字串陣列str 裡面的所有元素拼接在了一起。
範例:
package main import ( "fmt" "strings" ) func main() { //使用 join 函数,实现拼接字符串 str1 := "Hello," str2 := "HaiCoder" var str = []string{str1, str2} strHaiCoder := strings.Join(str, "") fmt.Println("strHaiCoder =", strHaiCoder) }
#分析:
首先,我們定義了一個字串 變量,賦值為“Hello,”,接著又定義了一個字串變量,賦值為“HaiCoder”。
接著,我們使用變數str1 和變數str2 定義一個字串數組,最後,我們使用strings.Join,實作了把字串str1 和字串str2 進行了拼接,並把拼接結果賦值給變數strHaiCoder。
最後,我們使用 print() 函數,列印變數 strHaiCoder,發現輸出了 “Hello,HaiCoder”,即我們透過 strings.Join 實作了字串的拼接。
方法4:使用buffer.WriteString 函數拼接
#var bt bytes.Buffer bt.WriteString(s1) bt.WriteString(s2) //获得拼接后的字符串 s3 := bt.String()
使用buffer.WriteString 拼接字串的效能要遠大於上面的幾種方式,因此不建議使用,這裡,我們實作了拼接了字串s1 和s2,拼接後賦值給字串s3。
範例:
package main import ( "bytes" "fmt" ) func main() { //使用 buffer.WriteString 函数拼接字符串 str1 := "Hello," str2 := "HaiCoder" var bt bytes.Buffer bt.WriteString(str1) bt.WriteString(str2) strHaiCoder := bt.String() fmt.Println("strHaiCoder =", strHaiCoder) }
#分析:
首先,我們定義了一個字串變量,賦值為“Hello,”,定義了另一個字串變量,賦值為“HaiCoder”,接著又定義了一個bytes.Buffer 類型的變數bt。
我們使用bytes.Buffer 的WriteString 方法,將變數str1 和變數str2 寫入bt 變數,最後,我們使用bytes.Buffer 的String 方法,實作了把字串str1 和字串str2 進行了拼接,並把拼接結果賦值給變數strHaiCoder。
#方法5:使用 buffer.Builder 拼接
#var build strings.Builder build.WriteString(s1) build.WriteString(s2) s3 := build.String()
这是官方推荐使用的字符串拼接方法,这里,我们实现了拼接了字符串 s1 和 s2,拼接后赋值给字符串 s3。
示例:
package main import ( "fmt" "strings" ) func main() { //使用 buffer.Builder 函数拼接字符串 str1 := "Hello," str2 := "HaiCoder" var build strings.Builder build.WriteString(str1) build.WriteString(str2) strHaiCoder := build.String() fmt.Println("strHaiCoder =", strHaiCoder) }
分析:
首先,我们定义了一个字符串变量,赋值为 “Hello,”,定义了另一个字符串变量,赋值为 “HaiCoder”,接着又定义了一个 strings.Builder 类型的变量 build。
我们使用 strings.Builder 的 WriteString 方法,将变量 str1 和变量 str2 写入 build 变量,最后,我们使用 strings.Builder 的 String 方法,实现了把字符串 str1 和 字符串 str2 进行了拼接,并把拼接结果赋值给变量 strHaiCoder。
以上是Go語言怎麼拼接字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

Go語言中用於浮點數運算的庫介紹在Go語言(也稱為Golang)中,進行浮點數的加減乘除運算時,如何確保精度是�...

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發者常常會遇到關於線程和請求隊列的問題。 �...

Go語言中字符串打印的區別:使用Println與string()函數的效果差異在Go...

GoLand中自定義結構體標籤不顯示怎麼辦?在使用GoLand進行Go語言開發時,很多開發者會遇到自定義結構體標籤在�...

Go語言中使用RedisStream實現消息隊列時類型轉換問題在使用Go語言與Redis...

Go語言中哪些庫是大公司開發或知名開源項目?在使用Go語言進行編程時,開發者常常會遇到一些常見的需求,�...

Go語言中結構體定義的兩種方式:var與type關鍵字的差異Go語言在定義結構體時,經常會看到兩種不同的寫法:一�...
