Go语言资料整理

Go语言环境搭建详解
《Go语言实战》笔记(二)| Go开发工具
《Go语言实战》笔记(三)| Go Doc 文档
《Go语言实战笔记》(五)| Go 切片
《Go语言实战笔记》(四)| Go 数组
Go语言实战笔记(六)| Go Map
《Go语言实战》笔记(九) | Go 接口
《Go语言实战》笔记(一)| Go包管理
Go语言实战》笔记(十二) | Go goroutine
《Go语言实战》笔记(二十六) | Go unsafe 包之内存布局

结构体格式化输出

package main
import (
    "flag"
    "fmt"
    "bytes"
    "encoding/json"
)
type RedisConfig struct {
    IP  string
    PORT  string
    AUTH       int
    PASS string
}
type DbConfig struct {
    Host   string
    Port   int
    Uid    string
    Pwd    string
    DbName string
}
//Config 游戏服务器的配置
type Config struct {
    ServerId  int
    Port      int  //端口号

    Redis     *RedisConfig
    DbConfigs map[string]*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{
            IP:"127.0.0.1",
            PORT:"3679",
        },
        DbConfigs: map[string]*DbConfig{
            "maindb": &DbConfig{
                Host:"127.0.0.1",
            } ,
        },
    }
    fmt.Println("Config:",conf.String())
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值