Comment convertir une chaîne en slice de bytes ([]byte) en Go ?
Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème qui semble élémentaire, mais je n'arrive pas à trouver la bonne solution.
J'ai une chaîne :
s := "Hello, World!"
Je dois la convertir en slice de bytes []byte pour la passer à une fonction qui accepte exactement ce type. J'ai essayé plusieurs options, mais elles provoquent des erreurs de compilation ou une panique.
Voici ce que j'ai essayé :
package main
import "fmt"
func main() {
s := "Hello, World!"
// Option 1 : directement
var b []byte = s
fmt.Println(b)
// Option 2 : via make et copy
b2 := make([]byte, len(s))
b2 = s
fmt.Println(b2)
}
La première option donne : cannot use s (type string) as type []byte in assignment. La seconde ne fonctionne pas non plus : cannot use s (type string) as type []byte in assignment.
Je comprends que la chaîne et le slice de bytes sont des types différents.