Go游戏服务器开发的一些思考(二十四):命令行库封装技巧

本文探讨了在游戏服务器开发中,如何从依赖配置文件转向使用命令行参数,以简化Docker Swarm编排脚本。介绍了Go语言的flag库,并提出了封装命令行参数的原则,包括为引擎和应用程序设定明确界限以及功能内敛。通过示例展示了如何在`common/args.go`和`server(s)/args.go`中定义公共和私有命令行参数,便于管理和使用。
摘要由CSDN通过智能技术生成

为什么使用命令行

通常,游戏开发时,服务器端会使用配置文件,如json文件来配置启动时的程序参数。

这样做有一个问题,配置文件会导致 Docker Swarm编排脚本变的复杂,难写。相反Docker Swarm编排脚本对命令行参数支持的非常好。

道理很简单,若是配置文件,则需要做进镜像中,使得镜像做好后,镜像内的配置文件,已经没办法修改了!如果是命令行参数,则可以在编排脚本中,自由更改启动时的命令行参数!

虽然没用过其他容器类工具,如k8s。但是按此思路推测,配置文件都会遇到这个问题!

因此如果打算后期使用Docker Swarm来部署自己的服务器的话,推荐将启动配置文件全部转化为命令行参数的方式提供。

go flag库

go语言通过官方自带的flag库,可以方便的定义、解析、以及获取命令行参数。

网上教程很多,这里不在详细介绍了。

封装原则

这里要讲的是,编码时需要注意的问题。还是要强调2点:

  1. 引擎和应用程序的界限要分明
  2. 功能编码时要注意内敛

按照这个思路,通常会编码2个文件
- common/args.g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fananchong2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值