Avatar ·

Comment convertir interface{} en chaîne en Go ?

Bonjour à tous ! Je viens de commencer à apprendre Go et j'ai rencontré un problème en travaillant avec le type `interface{}`. J'ai une fonction qui retourne `interface{}`, et j'ai besoin d'obtenir une chaîne ordinaire à partir de cette valeur pour l'utiliser ensuite. Voici un exemple de code : ```go package main import "fmt" func getValue() interface{} { return "Hello, World!" } func main() { val := getValue() // Comment obtenir une chaîne à partir de val maintenant ? fmt.Println(val) // Affiche "Hello, World!", mais val est toujours interface{} } ``` Le problème est que je ne peux pas appliquer d'opérations sur les chaînes à `val`. Par exemple, essayer d'appeler `len(val)` ou d'utiliser `val + "!"` provoque une erreur de compilation : "invalid operation". J'ai essayé un simple type assertion : `val.(string)`, mais cela semble dangereux car si `interface{}` ne stocke pas une chaîne, le programme plantera avec une panique. Dites-moi comment convertir correctement et en toute sécurité `interface{}` en chaîne ? Existe-t-il des fonctions standard en Go pour cela ? Et je