上一盘还在讨论游戏引擎这一篇又开始讨论 后台语言 跳度有点大.
最近游戏的后台服务语言从 nodejs 换成了 golang,这里也记录一下 golang 语法外的知识点吧.
如果你是 golang 的新手你可以从头看看 有助于你换个角度学习golang
这些只是我个人的观点, 不喜勿碰.
设计的知识点如下:
- golang 的命令
- golang 的环境
- 关于包的问题
- 罗列几个golang 的包吧
- golang 开发工具
golang官网
里面优质的文章不多, 但是也可以参考, 也许是我没有找到.
golang中文社区
golang github 库地址
golang 的命令
golang中比较常见的命令如下
1 | go run <go文件> // 用于执行 go 脚本 主要用在调试环境 |
golang 的环境
这里主要讲解一些 GOPATH
GOROOT
GOPROXY
GOPATH
这个可以说是在 golang 源码之外的工作空间
golang 会搜索 GOPATH/src 这个目录中的包和代码
一般 go get 的库都是放在这个目录下面
你可以自定义框架 放在这个目录下面
但是自己看法的工程就不要放在这个目录下面了,,, 可以在 GOPATH 之外创建工程 这样不用局限于 GOAPTH src目录下
GOAPTH 如果是 Windows平台 尽量不要定义在 C盘 因为可能会出现权限问题
GOROOT
这个是 golang 的 自身包的路径 和 可执行文件都在这里面
GOPROXY
这个是 golang 的代理用的 因为 golang 有些包需要科学上网, 或者网速特别的慢, 你需要使用一个镜像 提升下载速度
这是网上搜索的地址
1 | 阿里: https://mirrors.aliyun.com/goproxy/ |
配置 GOPROXY 的值为这个地址, 配置应该很简单, 就是配置你的环境变量
mac 配置临时变量
export GOPROXY=https://mirrors.aliyun.com/goproxy/
关于包的问题
这里主要讲一下 golang 下载包总是 timeout 这个是很烦人的, 有的时候你科学上网都不管用
超时原因
你安装的包里面有 golang.org 地址下面的包, 这个是golang 之前的地址, 现在移交到了 github上了,, 举个例子吧
golang.org/x/sys/unix 超时
1
2
3
4
5 git clone http://github.com/golang/sys.git $GOPATH/src/golang.org/x/sys // 这里要克隆岛你的GOPATH里面
如果我们需要sys包里面的unix包,执行上述操作后,继续操作
go install golang.org/x/sys/unix
罗列几个golang 的包吧
在开始写游戏后台框架的时候我也参考几个框架这里有记录一下几个游戏框架
我不会去评判这个框架的好坏
这里都有描述我就不做过多的介绍了
包名 | 地址 | 描述 |
---|---|---|
sonyflake | https://github.com/sony/sonyflake | A distributed unique ID generator inspired by Twitter’s Snowflake |
pmgo | https://github.com/struCoder/pmgo | golang 进程管理工具 |
gin | https://github.com/gin-gonic/gin | a http web framework |
cellent | https://github.com/davyxu/cellnet | High performance, simple, extensible golang open source network library |
websocket | https://github.com/gorilla/websocket | A WebSocket implementation for Go. docs: https://godoc.org/github.com/gorilla/websocket |
gonet | https://github.com/bobohume/gonet | go分布式服务器,基于内存mmo |
golang 基础语法学习网站
// golang 的基础语法, 还有些高级几用法 如反射, CGO, 汇编, 如果不是框架人员, 这个些可以先不用看, 因为你用不到. 不过后面你可以了解了解, 对你也没坏处
go语言圣经(中文版)
// 涉及基础的 web 开发, RPC, 分布式
go高级编程
golang 开发工具
这里我推荐使用 GOLAND 这工具相对来说, 写起来比较的舒服, 这里提供一个 破解版本, 有钱人事可以购买正版
GOLANG 2019.2 密码:n56v
补丁 密码:itkh
怎么破解自己百度搜索 一搜一大把.
总结
- golang 是编译型的语言, 所以热更新比较的麻烦,
- 游戏相关的开发框架比较的少, 都得自己开发框架, 门槛较高, 需要了解的知识点比较多
最后更新: 2019年09月14日 21:08