パッケージメイン インポート( 「符号化/ JSON」 「FMT」 ) / * 構造体の配列であると定義される 属性表示されている必要があり、そうでなければJSONパッケージがアクセスすることができない * / 人構造体を入力し、{ 名前ストリング 年齢INT 人民元のfloat64 性別BOOL 趣味[]文字列 } newPerson FUNC(文字列名、INT年齢、人民元のfloat64、性別BOOL、趣味[]の文字列){*人 人:=新しい新しい(人物) person.Name名= person.Age =年齢 person.Rmb = RMB person.Gender =性別 =趣味person.Hobbies 人返す } / * 関数はメインシステムコールをする前にinit関数を メインの前に、初期化のための初期化機能を * / 人人* VAR INIT FUNC(){ fmt.Println( "INIT") (真"張全卵"、20、0.5、人= newPerson []の文字列{ " 煙"、 "飲料"、 "ホットヘッド"}) fmt.Println (人物) } / *構造体の配列* / FUNCのmain041(){ fmt.Printlnは( "主")は 、バイトERR = json.Marshal(人*) IF ERR = nilは{! fmt.Printlnは(「シリアライズ失敗= ERR "ERR) リターン } fmt.Println(文字列(バイト)) } / * *地図/の配列 FUNCのmain042(){ データマップ:=メイク(地図[文字列]インターフェイス{}) データマップ["名前「] = "張全卵" データマップ[ "年齢"] = "20は、" データマップ[ "RMB"] = "0.5" データマップ[ "性別"] = trueに データマップ[ "趣味"] = [] {文字列"煙"、 "飲料"、 "ホットヘッド"} fmt.Println( "主") バイト、ERR = json.Marshal(データマップ) ERR =ゼロ{なら! fmt.Println( "序列化失败ERR ="、ERR) リターン } fmt.Println(文字列(バイト)) } / *序列化切片(内置マップ)* / FUNC main043(){ データマップ:=メイク(地図[ストリング]インターフェイス{}) データマップ[ "名" = "张全蛋" データマップ[ "年齢"] = " 20" データマップ[ "人民元"] = "0.5" データマップ[ "性別"] = trueの データマップ[ "趣味"] = []ストリング{ "抽烟"、 "喝酒"、 "烫头"} dataMap2:=メイク(MAP [文字列]インターフェイス{}) dataMap2 [ "名" = "张LIA蛋" dataMap2 [ "年齢"] = "20" dataMap2 [ "人民元"] = "0.5" dataMap2 [ "性別"] =真 dataMap2 [ "趣味"] = []ストリング{ "抽烟"、 "喝酒"、 "烫头"} dataSlice:=メイク([]マップ[文字列]インターフェース{}、0) dataSlice =アペンド(dataSlice、データマップ、dataMap2) fmt.Println( "主") バイト、ERR = json.Marshal(dataSlice) IF ERR =! {ゼロ fmt.Println( "失敗シリアライズ= ERR"、ERR) リターン } fmt.Println(文字列(バイト)) } / *セクション(構造オブジェクトを建て)の配列* / FUNCメイン(){ PERSON1:* = newPerson( "張全卵"、20、0.5、真、 []の文字列{ " 煙"、 "飲料"、 "ホットヘッド"}) PERSON2:= * newPerson( "張卵2個"、10、0.5、真、 []の文字列{ "煙"、 "飲料"、 "ホットヘッド"}) dataSlice:=メイク([]人、0) dataSlice =アペンド(dataSlice、PERSON1、PERSON2) fmt.Println( "主") バイト、ERR := JSON。元帥(dataSlice) ERR!= nilの場合{ fmt.Println( "失敗シリアライズ= ERR"、ERR) リターン } fmt.Println(文字列(バイト)) }