Skip to content

pingdai/parseStruct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

parseStruct

parse struct by tag
从文件中获取所有包含指定tag的结构体信息

Process

  • 获取单文件中满足指定tag条件的结构体
  • 获取嵌入式结构体信息

Example

package main

import "fmt"

func main() {

	fieldsMap, err := ParseStruct("parse_struct_test.go", nil, "json")
	if err != nil {
		panic(err)
	}

	for structName, fields := range fieldsMap {
		fmt.Printf("structName:%s\n", structName)
		for _, field := range fields {
			fmt.Printf("	FieldName:%s\n", field.Names[0].Name)
			fmt.Printf("	FieldType:%s\n", field.Type)
			fmt.Printf("	FieldTag:%s\n", field.Tag.Value)
		}
	}
	return
}

// Output
parse_struct_test.go:50: structName:Example1
parse_struct_test.go:52: 	FieldName:Foo
parse_struct_test.go:53: 	FieldType:string
parse_struct_test.go:54: 	FieldTag:`json:"foo"`
parse_struct_test.go:50: structName:Example2
parse_struct_test.go:52: 	FieldName:Aoo
parse_struct_test.go:53: 	FieldType:int
parse_struct_test.go:54: 	FieldTag:`json:"aoo"`

External references

About

Parse struct by tag from file. Welcome to see my blogs:https://dpjeep.com

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages