Go語言實現將[]string轉化為[]byte

來源:互聯網
上載者:User
Go語言實現將[]string轉化為[]byte

假設你想實現Go語言的string數組到byte數組的轉化。示範函數如下所示:

func convertStringsToBytes(){    stringContent := []string{"通知中樞","perfect!"}    byteContent := "\x00"+ strings.Join(stringContent, "\x02\x00")  // x20 = space and x00 = null    fmt.Println([]byte(byteContent))    fmt.Println(string([]byte(byteContent)))}

完整代碼:

package main import (    "fmt"    "strings" ) func convert(){    stringSlice := []string{"通知中樞","perfect!"}    stringByte := "\x00" + strings.Join(stringSlice, "\x20\x00") // x20 = space and x00 = null    fmt.Println([]byte(stringByte))    fmt.Println(string([]byte(stringByte))) } func main() {    convert() }

運行結果:

[0 233 128 154 231 159 165 228 184 173 229 191 131 2 0 112 101 114 102 101 99 116 33] 通知中樞  perfect!

上面是最簡單的方法,還有另外一種方式可以實現同樣的效果。它主要要使用編碼機制實現。

 package main import (    "bytes"    "encoding/gob"    "fmt" )func convert(){    stringSlice := []string{"通知中樞","perfect!"}    buffer := &bytes.Buffer{}    gob.NewEncoder(buffer).Encode(stringSlice)    byteSlice := buffer.Bytes()    fmt.Printf("%q\n", byteSlice)    fmt.Println("---------------------------")    backToStringSlice := []string{}    gob.NewDecoder(buffer).Decode(&backToStringSlice)    fmt.Printf("%v\n", backToStringSlice)} func main() {    convert() }

Welcome you!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.