Avatar ·

Comment convertir une chaîne (string) en slice de bytes ([]byte) en Go ?

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème. Je dois écrire une chaîne dans un tableau de bytes, plus précisément dans un slice `[]byte`. Je sais qu'en Go, les chaînes sont une séquence immuable de bytes en UTF-8, et un slice de bytes est une structure mutable. Mais je ne comprends pas comment les relier. Voici ce que j'ai essayé : ```go package main import "fmt" func main() { var s string = "Hello, Go!" var b []byte // Première tentative : assigner directement b = s // Erreur : cannot use s (type string) as type []byte in assignment // Deuxième tentative : créer un slice et copier b = make([]byte, len(s)) copy(b, s) // Cela a fonctionné, mais je ne suis pas sûr que ce soit correct fmt.Println(b) } ``` Question : comment convertir correctement et efficacement une chaîne en slice de bytes ? Existe-t-il une méthode standard utilisée par les développeurs Go expérimentés ? Et pourquoi la première tentative ne fonctionne-t-elle pas, alors que la chaîne est déjà composée de bytes ? Merci d'avance pour votre aide ! <<>>

Pro