1. 程式人生 > >go語言之結構體陣列轉為string字串

go語言之結構體陣列轉為string字串

轉換順序:先將struct結構體轉為map,再將map轉為string字串

struct --> map --> string

type demo struct {
	Id                    string
	Name	              string
}
func main() {

demos := [{"Id":"1","Name":"zs"},{"Id":"2","Name":"ls"},{"Id":"3","Name":"ww"}]

for _, v := range demos {
		tmpdata := Struct2Map(v)
		str, err := json.Marshal(tmpdata)
		if err != nil {
			fmt.Println(err)
		}		
	fmt.println(string(str))
 }

}
//結構體轉為map
func Struct2Map(obj interface{}) map[string]interface{} {
	t := reflect.TypeOf(obj)
	v := reflect.ValueOf(obj)

	var data = make(map[string]interface{})
	for i := 0; i < t.NumField(); i++ {
		data[t.Field(i).Name] = v.Field(i).Interface()
	}
	return data
}


相關推薦

go語言結構陣列轉為string字串

轉換順序:先將struct結構體轉為map,再將map轉為string字串 struct --> map --> string type demo struct { Id

GO語言結構排序

readdir clas package post ng- rac [] util amp package main import ( "fmt" "io/ioutil" "sort" "

C 語言結構

ons nbsp span clas %d str style ret [] 1 #include <stdio.h> 2 3 #include <struct.h> 4 5 #include <string.h>

go語言學習-結構

name 重寫 都沒有 gen ring 指針 setname this python 結構體 go語言中的結構體,是一種復合類型,有一組屬性構成,這些屬性被稱為字段。結構體也是值類型,可以使用new來創建。 定義: type name struct { field

11、C語言結構和共用

結構體數組 結構體 float add font sco 規則 student mon 一、結構體   結構體:是一種自定義的構造數據類型   用途:把不同類型的數據組合成一個整體。     結構體類型定義:     struct [結構體名]    {       類型識

Go語言5-結構

結構體 Go中的結構體(就相當於其它語言裡的class): 用來定義複雜的資料結構 可以包含多個欄位(屬性) 結構體型別可以定義方法,注意和函式的區分 結構體是值型別 結構體可以巢狀 Go語言沒有class型別,只有struct型別 定義結構體 struct 宣告: t

Go語言結構的使用-第2部分OOP

1 概述 結構體的基本語法請參見:Go語言中結構體的使用-第1部分結構體。 結構體除了是一個複合資料之外,還用來做面向物件程式設計。Go 語言使用結構體和結構體成員來描述真實世界的實體和實體對應的各種屬性。也就意味著結構體型別可以類比為其他語言中的“類class”, 而結構體資料可以

Go語言結構的使用-第1部分結構

1 概述 結構體是由成員構成的複合型別。Go 語言使用結構體和結構體成員來描述真實世界的實體和實體對應的各種屬性。 結構體成員,也可稱之為成員變數,欄位,屬性。屬性要滿足唯一性。 結構體的概念在軟體工程上舊的術語叫 ADT(抽象資料型別:Abstract Data Type) 資料層

C語言結構 共用 列舉 typedef

結構體型別和結構體變數, struct 定義結構體型別時 不佔記憶體 匿名結構體,無法建立變數訪問,有限的結構體型別變數 結構體變數不能整體引用,只能引用變數成員 結構體變數用大括號賦值,只有在建立並初始化的時候才可以 #define _CRT_SECURE_NO_WARN

go語言結構與json串的互相轉換

將結構體轉為json串 package main import ( "encoding/json" "fmt" ) type Person struct { // 這裡的兩個欄位名,首字母都要大寫,否則無法轉換 Name string `

Go基礎--結構和方法

結構體的定義 結構體是將零個或者多個任意型別的命令變數組合在一起的聚合資料型別。 每個變數都叫做結構體的成員。 其實簡單理解,Go語言的結構體struct和其他語言的類class有相等的地位,但是GO語言放棄了包括繼承在內的大量面向物件的特性,只保留了組合這個基礎的特性。 所有的Go語言型別

1-C語言結構、共用、列舉

一、關鍵字說明         C語言有32個關鍵字,C語言通過關鍵字的使用使編譯器進行相關的操作          結構體對應關鍵字struct          共用體(聯合體)對應的關鍵字是union          列舉型別對應的關鍵字是enum 二、結構

go語言----對結構進行排序

package main import "fmt" type myStruct struct { Sid int //使用者sid NN string Score int64

c語言指向結構陣列的指標

 c指標變數可以指向一個結構陣列,這時結構指標變數的值是整個結構陣列的首地址。結構指標變數也可指向結構陣列的一個元素,這時結構指標變數的值是該結構陣列元素的首地址。設ps為指向結構陣列的指標變數,則ps也指向該結構陣列的0號元素,ps+1指向1號元素,ps+i則指向i號

C語言結構、共用、列舉

結構體的基本格式如下:#include <stdio.h> struct student //結構體型別的說明與定義分開。 宣告 { int age; /*年齡*/ float score; /*分數*/ char sex; /*性別*/ }; int main() {

go語言中空結構的使用

簡介 go語言中的struct是一種很重要的語法,裡面可以存放各種欄位,當然它裡面也可以為空。這樣可以用來單純的做控制資訊。 示例 type Cli struct { Request

C語言_結構巢狀和字串陣列的表示_plusC14.3

#include<stdio.h> #define LEN 20 const char *mgs[5]= {"qqqq","wwww","EEEEEEE","RRRR","TTTTT" }; struct apple {char smell[LEN];char

C語言結構巢狀一級指標和二級指標

指標是C語言的精華,也是c中最難的部分;為了鍛鍊和提高自己對指標的理解,特在結構體中巢狀一級指標和二級指標來加深對。 #include<stdio.h> #include <string.h> #include<stdlib.h&

go語言基礎 結構巢狀

go語言當中的聚合和繼承都是模擬出來的,子類是可以使用父類裡的欄位或功能結構體的巢狀type A struct{  //父類name stringage int}type B struct{  //子類a A // 模擬聚合關係.....}type C struct{   /

Go語言學習筆記(十三)結構struct

19.面對物件1之struct結構體 Go中面向物件是通過struct來實現,struct是使用者自定義的型別,首先需要定義struct 1: type User struct { 2: Username string 3: Sex string 4: Age int 5: Av