欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go語言string轉(zhuǎn)結(jié)構(gòu)體的實(shí)現(xiàn)

 更新時(shí)間:2023年03月17日 10:28:22   作者:i wanan  
本文主要介紹了go語言string轉(zhuǎn)結(jié)構(gòu)體的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在 Go 語言中,可以使用標(biāo)準(zhǔn)庫中的 encoding/json 包將 JSON 格式的字符串轉(zhuǎn)換為結(jié)構(gòu)體。

假設(shè)有以下 JSON 字符串:

{
    "name": "雞哥",
    "age": 28,
    "gender": "男",
    "hobby": {
        "sing": "唱",
        "jump": "跳",
        "rap": "rap",
        "ball":"籃球"
    }
}

可以定義一個(gè)對(duì)應(yīng)的結(jié)構(gòu)體類型:

type hobby struct {
? ? Sing ? ?string ?`json:"sing"`
? ? Jump ? ?string `json:"jump"`
? ? Rap ? ? string ?`json:"rap"`
? ? Hobby hobby ? ?`json:"hobby"`
}

type Person struct {
? ? Name string `json:"name"`
? ? Age string ?`json:"age"`
? ? Gender string `json:"gender`
? ? Hobby hobby `json:"hobby"`
}

然后使用 json.Unmarshal() 函數(shù)將 JSON 字符串解析為該結(jié)構(gòu)體類型的實(shí)例:

package main

import (
? ? "encoding/json"
? ? "fmt"
)

func main() {
? ? jsonStr := `{
? ? "name": "雞哥",
? ? "age": 28,
? ? "gender": "男",
? ? "hobby": {
? ? ? ? "sing": "唱",
? ? ? ? "jump": "跳",
? ? ? ? "rap": "rap",
? ? ? ? "ball":"籃球"
? ? }
}`

? ? var person Person
? ? if err := json.Unmarshal([]byte(jsonStr), &person); err != nil {
? ? ? ? fmt.Println("解析 JSON 失敗:", err)
? ? ? ? return
? ? }

? ? fmt.Printf("愛好:%s\n唱:%d\n跳:%s\n愛好:%v\n", person.Sing, person.Jump, person.Rap, person.Hobby)
}

在這個(gè)例子中,我們將 JSON 字符串 jsonStr 解析為類型為 Person 的結(jié)構(gòu)體實(shí)例 person。&person 表示將 person 的地址傳遞給 json.Unmarshal() 函數(shù),讓它將解析的結(jié)果填充到 person 中。如果解析失敗,會(huì)返回一個(gè)非空的錯(cuò)誤對(duì)象。

到此這篇關(guān)于go語言string轉(zhuǎn)結(jié)構(gòu)體的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)go語言string轉(zhuǎn)結(jié)構(gòu)體內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于go實(shí)例網(wǎng)絡(luò)存儲(chǔ)協(xié)議詳解

    基于go實(shí)例網(wǎng)絡(luò)存儲(chǔ)協(xié)議詳解

    這篇文章主要為大家介紹了基于go實(shí)例網(wǎng)絡(luò)存儲(chǔ)協(xié)議詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Go語言并發(fā)處理效率響應(yīng)能力及在現(xiàn)代軟件開發(fā)中的重要性

    Go語言并發(fā)處理效率響應(yīng)能力及在現(xiàn)代軟件開發(fā)中的重要性

    這篇文章主要為大家介紹了Go語言并發(fā)處理的效率及響應(yīng)能力以及在現(xiàn)代軟件開發(fā)中的重要性實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 詳解Golang官方中的一致性哈希組件

    詳解Golang官方中的一致性哈希組件

    這篇文章主要為大家詳細(xì)介紹了Golang官方中的一致性哈希組件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Golang為什么占用那么多的虛擬內(nèi)存原理解析

    Golang為什么占用那么多的虛擬內(nèi)存原理解析

    這篇文章主要介紹了Golang為什么占用那么多的虛擬內(nèi)存原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 深入理解Golang channel的應(yīng)用

    深入理解Golang channel的應(yīng)用

    channel是用于 goroutine 之間的同步、通信的數(shù)據(jù)結(jié)構(gòu)。它為程序員提供了更高一層次的抽象,封裝了更多的功能,這樣并發(fā)編程變得更加容易和安全。本文通過示例為大家詳細(xì)介紹了channel的應(yīng)用,需要的可以參考一下
    2022-10-10
  • go語言base64用法實(shí)例

    go語言base64用法實(shí)例

    這篇文章主要介紹了go語言base64用法,實(shí)例分析了Go語言base64編碼的實(shí)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • Go語言字符串及strings和strconv包使用實(shí)例

    Go語言字符串及strings和strconv包使用實(shí)例

    字符串是工作中最常用的,值得我們專門的練習(xí)一下,下面這篇文章主要給大家介紹了關(guān)于Go語言字符串及strings和strconv包使用的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Go語言中常見的坑以及高性能編程技巧分享

    Go語言中常見的坑以及高性能編程技巧分享

    代碼的穩(wěn)健性、高性能、可讀性是我們每一位coder必須去追求的目標(biāo),本文結(jié)合Go語言的特性做了相關(guān)總結(jié),感興趣的小伙伴可以了解一下
    2023-06-06
  • Golang中的同步工具sync.Map示例詳解

    Golang中的同步工具sync.Map示例詳解

    sync.Map是Golang標(biāo)準(zhǔn)庫提供的并發(fā)安全的Map類型,可以在多個(gè)goroutine并發(fā)讀寫Map的場景下不需要加鎖,這篇文章主要介紹了Golang中的同步工具sync.Map詳解,需要的朋友可以參考下
    2023-05-05
  • 完美解決beego 根目錄不能訪問靜態(tài)文件的問題

    完美解決beego 根目錄不能訪問靜態(tài)文件的問題

    下面小編就為大家?guī)硪黄昝澜鉀Qbeego 根目錄不能訪問靜態(tài)文件的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06

最新評(píng)論