V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bigpigeon
V2EX  ›  分享创造

tagfmt 库,用来对齐 go 语言的 struct tag 字段

  •  
  •   bigpigeon · 2020-11-05 17:12:40 +08:00 · 1741 次点击
    这是一个创建于 1239 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/bigpigeon/tagfmt 除了对齐还可以对 tag key 排序和填充 tag value

    一个简单例子

    // tagfmt .
    package main
    type Example struct {
    	Data      string `xml:"data" yaml:"data"  json:"data"`
    	OtherData string `xml:"other_data" json:"other_data:omitempty" yaml:"other_data"`
    }
    
    // result
    package main
    
    type Example struct {
    	Data      string `xml:"data"       yaml:"data"                 json:"data"`
    	OtherData string `xml:"other_data" json:"other_data:omitempty" yaml:"other_data"`
    }
    
    7 条回复    2020-11-19 18:20:47 +08:00
    Maboroshii
        1
    Maboroshii  
       2020-11-05 17:14:24 +08:00
    感觉更需要的是 tag 的顺序, 比如你的例子里的 yaml 和 json 的顺序不一样就很难受。。
    Maboroshii
        2
    Maboroshii  
       2020-11-05 17:15:33 +08:00
    @Maboroshii #1 哦 原来是支持排序的!!
    bigpigeon
        3
    bigpigeon  
    OP
       2020-11-05 17:54:09 +08:00
    @Maboroshii 恩,但目前只支持按 tag 的 key 的字符规则排序,迟点我吧按着某一行的 tag key 序列排序功能加上
    huweic
        4
    huweic  
       2020-11-05 18:20:17 +08:00
    good
    NoUltimate
        5
    NoUltimate  
       2020-11-06 17:07:01 +08:00
    好用,强迫症福音
    bigpigeon
        6
    bigpigeon  
    OP
       2020-11-06 17:50:38 +08:00
    tag sort by order 功能也加上了
    @NoUltimate 握手
    bigpigeon
        7
    bigpigeon  
    OP
       2020-11-19 18:20:47 +08:00
    捞一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5384 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:34 · PVG 15:34 · LAX 00:34 · JFK 03:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.