代码目录 ~/Code
公司项目目录 ~/Code/Work

.gitconfig

[includeIf "gitdir:~/Code/"]
  path = .gitconfig-personal
[includeIf "gitdir:~/Code/Work/"]
  path = .gitconfig-work

.gitconfig-personal

[user]
name = solarhell
email = songjiaxin2008@gmail.com

.gitconfig-work

[user]
name = 程序员
email = 程序员@公司.com

在接入一些php后台时,可能会遇到返回的json字段类型变化的情况(即字段类型不规范的情况)。
这时候可以选择简单的用interface去解析。
当然,还可以使用json.RawMessage来更好的匹配情况。

{
  "code": 0,
  "data": "xxx",
  "error": []
}
{
  "code": -3031,
  "data": "xxx",
  "error": {
    "code": -3031,
    "msg": "密码错误"
  }
}

这里error字段其实是可以根据外部code是否为0来判断类型的。

还有一种办法是对error这个struct定义一个unmarshal方法。

type Error interface{}
func (e Error) Unmarshal() {
}