```go
type MysqlDB struct {
username string
password string
host string
port int
db string
}
func JsonParse(filename string, v interface{}) {
data, err := ioutil.ReadFile(filename)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("%T === %v\n",v,v) // 这里还是可以识别到*MysqlDB
err = json.Unmarshal(data, v)
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("%v",v) // v的值并未被修改,打印的还是结构体的里面的零值。
}
//test 文件
func TestConfig(t *testing.T) {
v:=MysqlDB{}
JsonParse("config.json",&v) # 传入一个指针的值
}
```
默认的做法是
v:=MysqlDB{}
err = json.Unmarshal(data, &v)
那请问去了地址后传入的那种方法有什么问题吗?
type MysqlDB struct {
username string
password string
host string
port int
db string
} 都是未导出字段。。。。
#1
更多评论