a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Golang > 正文

Go語言使用字符串的幾個技巧分享

2020-04-01 19:08:45
字體:
來源:轉載
供稿:網友

一、字符串底層就是一個字節數組

這真的非常重要,而且影響著下面的其他幾個技巧。當你創建一個字符串時,其本質就是一個字節的數組。這意味著你可以像訪問數組一樣的訪問單獨的某個字節。例如,下面的代碼逐個打印字符串中的每個字節以及對應字節數組中的每個字節:

package mainimport "fmt"func main() {   str := "hello"  for i := 0; i < len(str); i++ {    fmt.Printf("%b %s/n", str[i], string(str[i]))  }}

這是一個很重要的知識,因此才有了第二個技巧。。。

二、使用字節數組或緩沖區可以提升字符串連接的速度

在 Go 語言中字符串是只讀的,這表示每次當你使用 str = str + "something" 時,實際上創建了一個新的字符串對象。如果你尋求代碼的最高效率,這里應該使用字節緩沖區來替代,例如:

package mainimport (   "bytes"  "fmt")func main() {   str := "something"  buf := bytes.NewBufferString(str)  for i := 0; i < 1000; i++ {    buf.Write([]byte(randomString()))  }  fmt.Println(buf.String())}func randomString() string {   ret := "pretend-this-is-random"  return ret}

如果使用字節數組會進一步提升上述代碼的效率,但你需要知道最終字符串的大小。一個直觀的例子就是 Go 語言中的 left-pad 實現。

三、你可以像拼接其他數組一樣拼接字符串

當你需要截取字符串中的一部分時,可以使用像截取數組某部分那樣來操作,示例代碼:

package mainimport "fmt"func main() {   str := "XBodyContentX"  content := str[1 : len(str)-1]  fmt.Println(content)}

四、使用 ` 符號來創建多行字符串

這個相當簡單,你希望在代碼中定義一個包含多行地址信息的字符串,那么你需要用到 ` 這個字符,如下所示:

package mainimport "fmt"func main() {   str := `Mr. Smith123 Something St Some City, CA 94043`   fmt.Println(str)}

五、你可以在字符串中嵌入 Unicode 字符

假設實現 WebSocket 通訊時,你需要讓傳輸的數據以 0x00 開始,以 0xFF 結束[源碼]

我們可以在任意字符串中通過如下代碼實現:

package mainimport "fmt"func main() {   str := "/x00BodyContent/xff"  fmt.Println(str)}

同樣的,你可以使用 Unicode 字符串來處理,或者也可以在字符串中使用原始字符。例如,下面的代碼都是有效的:

package mainimport "fmt"func main() {   a := "ÿay!"  b := "/u00FFay!"  fmt.Println(a, b)}

總結

關于Go語言使用字符串的技巧就分享到這了,大家都學會了嗎?學會了這些相信會對大家使用Go語言很有幫助,如果有有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲一区 | 日本福利网站 | 高清一区二区三区 | 欧美一区二区伦理片 | 黄色免费网站视频 | 日韩不卡一区 | 久久成人精品视频 | 亚洲国产精品第一区二区 | 国产乱人伦av在线a 久久精品视 | 在线日韩 | 国外成人在线视频网站 | 国产精品av一区二区 | 天堂精品一区二区三区 | 国产精品久久一区 | 在线看91| 一区二区三区高清不卡 | 久久h| 中文字幕一二三区 | 日韩一区二区三区精品 | 精品国产污污免费网站入口 | 免费在线成人 | 欧美日韩中 | 91视频网址 | 久久精品欧美一区二区三区麻豆 | 亚洲精品一区二三区不卡 | 久久99精品视频在线观看 | 成人免费视频网站在线看 | 欧洲视频一区二区三区 | 黄色精品视频 | 精品国产乱码久久久久久闺蜜 | 欧美一区二区三区爽大粗免费 | 国产精品视频久久久久久 | 成人在线视频网 | 二区欧美 | 日本黄色一级片视频 | 久久久久国产一区二区三区四区 | 国产精品亚欧美一区二区 | 欧美一区二区三区在线看 | 欧美日日| 伊人久久一区二区三区 | 精品一区二区三区四区五区 |