Maison > développement back-end > Golang > le corps du texte

Comment créer des types personnalisés dans Golang à l'aide de bibliothèques tierces ?

WBOY
Libérer: 2024-06-02 10:56:57
original
751 Les gens l'ont consulté

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.

如何使用第三方库在 Golang 中创建自定义类型?

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"
)
Copier après la connexion

É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
}
Copier après la connexion

步骤 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)
}
Copier après la connexion

步骤 4:使用 json.Unmarshal 解码 JSON 字符串

json.Unmarshal

// 创建一个 Person 对象并将其赋值给 p
var p Person

// 将 jsonStr 解码为 p
if err := json.Unmarshal(jsonStr, &p); err != nil {
    fmt.Println(err)
}
Copier après la connexion

É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 fonction json.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"))
}
Copier après la connexion

Étape 4 : Décoder la chaîne JSON à l'aide de json.Unmarshal

La fonction json.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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!