Golang : Convert []string to []byte examples
Problem :
You need a fast way to convert a []string to []byte type. To use in situations such as storing text data into a random access file or other type of data manipulation that requires the input data to be in []byte type.
Solutions :
Example 1:
package main
import (
"fmt"
"strings"
)
func main() {
stringSlice := []string{"hello", "bye"}
stringByte := "\x00" + strings.Join(stringSlice, "\x20\x00") // x20 = space and x00 = null
fmt.Println([]byte(stringByte))
fmt.Println(string([]byte(stringByte)))
}
Output :
[0 104 101 108 108 111 32 0 98 121 101]
hello bye
Example 2:
package main
import (
"bytes"
"encoding/gob"
"fmt"
)
func main() {
stringSlice := []string{"hello", "bye"}
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)
}
Output :
[12 255 129 2 1 2 255 130 0 1 12 0 0 14 255 130 0 2 5 104 101 108 108 111 3 98 121 101]
[hello bye]
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+19.8k Swift : Convert (cast) Int to int32 or Uint32
+15.7k Golang : How to reverse elements order in map ?
+23k Golang : Get ASCII code from a key press(cross-platform) example
+21.5k Golang : Setting up/configure AWS credentials with official aws-sdk-go
+5.6k Golang : Markov chains to predict probability of next state example
+9.4k Golang : Copy map(hash table) example
+15.3k Chrome : ERR_INSECURE_RESPONSE and allow Chrome browser to load insecure content
+4.5k Chrome : How to block socketloop.com links in Google SERP?
+10.9k Golang : Calculate Relative Strength Index(RSI) example
+4.6k Golang : A program that contain another program and executes it during run-time
+8.7k Golang : What is the default port number for connecting to MySQL/MariaDB database ?
+4.9k Golang : Experimental Jawi programming language