Oui, il est possible de créer des types personnalisés à l'aide de bibliothèques tierces. Les étapes comprennent : Importer des bibliothèques tierces. Créez une structure. Utilisez les fonctions de bibliothèque pour coder la structure dans une chaîne JSON. Utilisez les fonctions de bibliothèque pour décoder les chaînes JSON en structures.
Comment créer des types personnalisés dans Golang à l'aide de bibliothèques tierces ?
L'utilisation de bibliothèques tierces est un moyen pratique de créer un type personnalisé dans Golang. Cet article montre comment créer des types personnalisés à l'aide d'une bibliothèque tierce appelée « encoding/json ».
Étape 1 : Importer la bibliothèque
Tout d'abord, nous devons importer la bibliothèque "encoding/json".
import ( "encoding/json" "fmt" )
Étape 2 : Créer une structure
Les structures sont les éléments de base des types de données personnalisés. Nous allons créer une structure appelée Person
qui contient les champs nom, âge et sexe. Person
的结构体,其中包含姓名、年龄和性别字段。
type Person struct { Name string Age int Sex string }
步骤 3:使用 json.Marshal 编码结构体
使用 "encoding/json" 库,我们可以将自定义类型编码为 JSON 字符串。json.Marshal
函数用于将结构体编码为 JSON 格式。
// 创建一个 Person 对象 person := Person{Name: "John Doe", Age: 30, Sex: "Male"} // 将 person 编码为 JSON 字符串 jsonStr, err := json.Marshal(person) if err != nil { fmt.Println(err) }
步骤 4:使用 json.Unmarshal 解码 JSON 字符串
json.Unmarshal
// 创建一个 Person 对象并将其赋值给 p var p Person // 将 jsonStr 解码为 p if err := json.Unmarshal(jsonStr, &p); err != nil { fmt.Println(err) }
Étape 3 : Encoder la structure à l'aide de json.Marshal
En utilisant la bibliothèque "encoding/json", nous pouvons encoder des types personnalisés en chaînes JSON. La fonctionjson.Marshal
permet d'encoder une structure au format JSON. import ( "encoding/json" "net/http" "github.com/gorilla/mux" ) // CreatePerson 处理创建新人的请求 func CreatePerson(w http.ResponseWriter, r *http.Request) { var p Person // 读取请求并解析 JSON 正文 if err := json.NewDecoder(r.Body).Decode(&p); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } // 使用 p 创建新人物 // 省略创建人物的实际逻辑 // 向响应写入成功消息 w.WriteHeader(http.StatusCreated) w.Write([]byte("Person created successfully")) }
Étape 4 : Décoder la chaîne JSON à l'aide de json.Unmarshal
La fonctionjson.Unmarshal
désérialise la chaîne JSON en un type personnalisé. rrreee
🎜Un cas pratique : analyse de requêtes à l'aide de types personnalisés🎜🎜🎜Considérons un cas pratique d'analyse d'une requête HTTP et de lecture d'un objet JSON. 🎜rrreee🎜🎜Conclusion🎜🎜🎜La création de types personnalisés à l'aide de bibliothèques tierces est une fonctionnalité puissante de Golang qui nous permet d'encoder des structures de données complexes au format JSON et de les désérialiser. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!