欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言字符串高效拼接的實現(xiàn)

 更新時間:2019年02月02日 11:33:33   作者:志強1224  
這篇文章主要介紹了Go語言字符串高效拼接的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

+號拼接

這種拼接最簡單,也最容易被我們使用,因為它是不限編程語言的,比如Go語言有,Java也有,它們是+號運算符,在運行時計算的。

var s string
s+="昵稱"+":"+"志強1224"+"\n"
s+="聯(lián)系方式QQ"+":"+"354662600"+"\n"
fmt.Println(s)

fmt 拼接

這種拼接,借助于fmt.Sprint系列函數(shù)進行拼接,然后返回拼接的字符串。

fmt.Sprint("昵稱",":","志強1224","\n","聯(lián)系方式QQ",":","354662600")

Join 拼接

這個是利用strings.Join函數(shù)進行拼接,接受一個字符串?dāng)?shù)組,轉(zhuǎn)換為一個拼接好的字符串。

s:=[]string{"昵稱",":","志強1224","\n","聯(lián)系方式QQ",":","354662600"}
fmt.Println(strings.Join(s,""))

buffer 拼接

使用的是bytes.Buffer進行的字符串拼接,它是非常靈活的一個結(jié)構(gòu)體,不止可以拼接字符串,還是可以byte,rune等,并且實現(xiàn)了io.Writer接口,寫入也非常方便。

var b bytes.Buffer
b.WriteString("昵稱")
b.WriteString(":")
b.WriteString("志強1224")
b.WriteString("\n")
b.WriteString("聯(lián)系方式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("聯(lián)系方式QQ")
b.WriteString(":")
b.WriteString("354662600")
b.WriteString("\n")
fmt.Println(b.String())

拼接函數(shù)改造

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()
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Go并發(fā)編程中sync/errGroup的使用

    Go并發(fā)編程中sync/errGroup的使用

    本文主要介紹了Go并發(fā)編程中sync/errGroup的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • GO語言并發(fā)編程之互斥鎖、讀寫鎖詳解

    GO語言并發(fā)編程之互斥鎖、讀寫鎖詳解

    這篇文章主要介紹了GO語言并發(fā)編程之互斥鎖、讀寫鎖詳解,本文是GO并發(fā)編程實戰(zhàn)一書的樣章,詳細講解了互斥鎖、讀寫鎖,然后給出了一個完整示例,需要的朋友可以參考下
    2014-11-11
  • Golang中可比較的數(shù)據(jù)類型詳解

    Golang中可比較的數(shù)據(jù)類型詳解

    在日常開發(fā)中,比較操作是最常用的基本操作之一,可以用來判斷變量之間是否相等或者對應(yīng)的大小關(guān)系,本文將深入解析 Golang 中可比較的數(shù)據(jù)類型,并結(jié)合代碼示例來說明如何在不同情況下進行比較,需要的朋友可以參考下
    2024-01-01
  • golang 如何實現(xiàn)HTTP代理和反向代理

    golang 如何實現(xiàn)HTTP代理和反向代理

    這篇文章主要介紹了golang 實現(xiàn)HTTP代理和反向代理的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go解析不定JSON數(shù)據(jù)的方法詳解

    Go解析不定JSON數(shù)據(jù)的方法詳解

    在開發(fā)中常常會碰到很多JSON類型的數(shù)據(jù)進行交互,而其中有很多JSON數(shù)據(jù)你是不能確定它的字段和結(jié)構(gòu)的,而Go語言是一門靜態(tài)強類型的語言,在進行JSON解析的時候必須要確定字段的類型,本文給大家介紹了Go如何解析不定JSON數(shù)據(jù),需要的朋友可以參考下
    2024-03-03
  • 協(xié)同開發(fā)巧用gitignore中間件避免網(wǎng)絡(luò)請求攜帶登錄信息

    協(xié)同開發(fā)巧用gitignore中間件避免網(wǎng)絡(luò)請求攜帶登錄信息

    這篇文章主要為大家介紹了協(xié)同開發(fā)巧用gitignore中間件避免網(wǎng)絡(luò)請求攜帶登錄信息
    2022-06-06
  • 如何解決goland,idea全局搜索快捷鍵失效問題

    如何解決goland,idea全局搜索快捷鍵失效問題

    這篇文章主要介紹了如何解決goland,idea全局搜索快捷鍵失效問題,快捷鍵失效,可能是快捷鍵沖突,也或者是快捷鍵被修改成其他了。在settings下查看快捷鍵是否被修改,下文詳細介紹需要的朋友可以參考下
    2022-04-04
  • Golang中的錯誤處理的示例詳解

    Golang中的錯誤處理的示例詳解

    這篇文章主要為大家詳細介紹了Golang中的錯誤處理的相關(guān)資料,文章中的示例代碼講解詳細,對我們學(xué)習(xí)Golang有一定幫助,需要的可以參考一下
    2022-11-11
  • 解決Golang小數(shù)float64在實際工程中加減乘除的精度問題

    解決Golang小數(shù)float64在實際工程中加減乘除的精度問題

    這篇文章主要介紹了解決Golang小數(shù)float64在實際工程中加減乘除的精度問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 使用go來操作redis的方法示例

    使用go來操作redis的方法示例

    今天小編就為大家分享一篇關(guān)于使用go來操作redis的方法示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評論