我是一名 PHP 程序员。最近对 go 语言有了趣味。所以我筹备从身边的一个我的项目动手,实际并学习一下 go 语言。在上一篇文章中对这个要重构的小我的项目做了比拟具体的介绍。明天打算在本人的电脑上搭建一个能够运行 go 语言的开发环境。
几年前开始,我曾经尝试用 Docker 来搭建我的开发环境。所以目前我开发环境所依赖的所有性能都是运行在 Docker 之上。比方 PHP,MySQL, Redis,Nginx 等。这次我将同样用 Docker 来搭建我的 go 语言环境。另外我的开发零碎为 Ubuntu。
咱们间接开始,首先是为这个小我的项目创立我的项目目录:
mkdir -p ~/Projects/codebook
coodbook,很直白的名字。进入我的项目目录:
cd ~/Projects/codebook
而后尝试拉取 go 语言的镜像:
docker pull golang
镜像拉取胜利后,验证一下镜像是否工作失常:
docker run --rm -it golang go version
看到输入了 go 语言的版本信息,我就释怀了。对于 docker
命令后的参数略微解释下,--rm
参数是示意在执行实现后删除这个镜像产生的容器,-it
是应用交互式形式执行这个镜像中的命令。这些是 Docker 命令的参数,跟 go 语言没有关系,不必在意。
实践上到此开发环境就算是搭建好了,这就是几年前我为啥非要把开发环境搬到 Docker 环境的起因:简略高效,不净化主零碎环境。接下来将持续尝试写一个 go 语言的代码体验一下经单的 "Hello, World"。先创立一个 hello.go
文件,输出以下代码:
package mainimport ( "fmt")func main() { fmt.Println("Hello, world.")}
如何在 Docker 构建的开发环境中执行代码文件是有套路的,首先须要晓得这个镜像它的默认工作目录,这个能够借助镜像中的 pwd
命令:
docker run --rm -it golang pwd
输入后果是在 /go 目录,接下来就只须要运行这个镜像时,把当前目录挂载到容器中的 /go
目录,执行如下代码:
docker run --rm -it -v $PWD:/go golang go run hello.go
很好,失常输入了“Hello World“。再尝试以编译的形式执行代码:
docker run --rm -it -v $PWD:/go golang go build hello.go
没有任何输入。用 ls
命令来查看下我的项目目录,能够看到多了一个 hello 的可执行文件。
间接执行这个可执行文件,同样输入了 "Hello, World":
至此我的 go 语言开发环境就算筹备好了。下一篇我将开始设计并创立这个小我的项目的前端界面,这是我本人的一个习惯,先把本人想的货色画进去,从界面动手,把性能和流程再过一便,确保本人不会做一些多余的事件。敬请关注,咱们下一篇见。