golang 对结构体进行格式化输出
package mainimport (
"bytes"
"encoding/json"
"fmt"
)
type RedisConfig struct {
IPstring
PORTstring
AUTH int
PASS string
}
type DbConfig struct {
Host string
Port int
Uid string
Pwd string
DbName string
}
//Config 游戏服务器的配置
type Config struct {
ServerIdint
Port int//端口号
Redis *RedisConfig
DbConfigs map*DbConfig //如果配置多个数据库源,则用逗号分隔源的名字
callbacks []func()
}
func (conf *Config) String() string {
b, err := json.Marshal(*conf)
if err != nil {
return fmt.Sprintf("%+v", *conf)
}
var out bytes.Buffer
err = json.Indent(&out, b, "", " ")
if err != nil {
return fmt.Sprintf("%+v", *conf)
}
return out.String()
}
func main(){
conf:=Config{
ServerId:1,
Port:8080,
Redis:&RedisConfig{},
DbConfigs: map*DbConfig{
"maindb": &DbConfig{
Host:"127.0.0.1",
} ,
},
}
fmt.Println("Config:",conf.String())
}
页:
[1]