- 文章信息 - Author: 李俊才 (jcLee95)
Visit me at CSDN: GoLang:Go语言开发环境的配置
My WebSite:http://thispage.tech/
Email: 291148484@163.com.
Shenzhen China
Address of this article:GoLang:Go语言开发环境的配置
HuaWei:https://bbs.huaweicloud.com/blogs/
【介绍】:本文简要介绍Go语言开发环境部署。
目 录
1. Go语言简介
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的设计初衷是提高程序员在处理多核处理器、大型代码库和动态网络环境中的开发效率。
2. 安装Go语言
2.1 下载Go语言安装包
访问Go语言的官方网站下载页面:Go Downloads。选择适合你的操作系统的安装包。
2.2 安装Go语言
2.2.1 Windows
运行下载的安装程序,按照指示完成安装,基本就是点“下一步”:
安装程序会将Go安装在默认路径(默认是C:\Program Files\Go
),并且会自动设置GOROOT
环境变量。
点击“Install”(安装),这需要你同意管理员权限:
最后右键点击“此电脑”,在右键菜单中选择“属性”,打开系统设置:
点击“高级系统设置”:
2.2.2 Linux
可以使用命令先下载包:
VERSION=1.23.0 OS=linux ARCH=amd64 curl -O https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz
其中$VERSION
、$OS
和$ARCH
需要替换成相应的版本号、操作系统和架构。
也可以直接替换为具体的版本好和操作系统:
cirl -O https://dl.google.com/go/go1.23.0.linux-amd64.tar.gz
下载后需要设置一些环境变量来确保Go命令可以在任何地方运行:
- 设置环境变量:您需要设置GOROOT和GOPATH环境变量,并更新PATH环境变量。
echo "export GOROOT=/usr/local/go" >> ~/.bashrc echo "export GOPATH=$HOME/go" >> ~/.bashrc echo "export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin" >> ~/.bashrc source ~/.bashrc
这些命令将Go的安装目录设置为GOROOT,将工作目录设置为GOPATH,并将Go的二进制文件目录添加到PATH中。
2.2.3 macOS
先下载Go语言安装包:
- 访问Go语言的官方网站下载页面:Go Downloads。
- 选择适合macOS的安装包。通常是一个
.pkg
文件,例如go1.23.0.darwin-amd64.pkg
:
接着,双击下载的.pkg
文件开始安装过程。跟随安装向导的指示进行安装。通常,安装向导会引导你通过一系列步骤,包括接受许可协议。安装程序默认将Go安装在/usr/local/go
目录。这个过程中,GOROOT
环境变量通常会被自动设置为此路径。
安装完成后,你需要确保GOPATH
环境变量被设置,以及PATH
环境变量被更新,以便在任何地方都能运行Go命令。
打开终端,输入以下命令来设置GOPATH
,并将Go的二进制文件目录添加到PATH
中:
echo "export GOPATH=$HOME/go" >> ~/.bash_profile echo "export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin" >> ~/.bash_profile source ~/.bash_profile
这些命令将工作目录设置为GOPATH
,并将Go的二进制文件目录添加到PATH
中。
2.2.4 Docker命令安装模式
使用Docker安装Go语言是一个非常方便的方法,特别是当你想在隔离的环境中运行Go应用或者进行多版本管理时。
打开终端。先获取Go语言的Docker镜像,使用Docker命令拉取官方的Go镜像。你可以指定需要的Go版本,例如拉取1.23.0版本:
docker pull golang:1.23.0
这将从Docker Hub下载Go语言的官方镜像,等待下载成功完成(需要非异常连接到网络)。
一旦镜像下载完成,你可以启动一个容器来运行Go环境:
docker run -it --name go-container golang:1.23.0 /bin/bash
这个命令会启动一个名为go-container
的容器,并提供一个交互式的终端。然后可以在Docker中编写和运行Go代码。你没法直接在里面编辑内容,因此这个容器中,是没有vi、vim等编辑器的,需要自己安装:
apt update apt install vim -y
在容器内部,你可以使用vi
、nano
或其他编辑器来编写Go代码。例如,创建一个新的Go文件:
vim hello.go
并输入以下内容:
package main import "fmt" func main() {
fmt.Println("Hello, World!") }
保存并退出编辑器。在容器内编译并运行Go程序:
go run hello.go
如果运行正常,这应该会输出Hello, World!
:
使用Docker卷来持久化Go项目
如果你想在容器外部编辑Go代码,并让容器访问这些代码,可以使用Docker卷来挂载本地目录到容器中:
docker run -it --name go-container -v $(pwd)/my-go-project:/go/src/my-go-project golang:1.23.0
这个命令会将当前目录下的my-go-project
文件夹挂载到容器的/go/src/my-go-project
目录。这样,你就可以在本地编辑文件,并在容器中编译和运行。
如果此GoLang容器不再需要,你可以停止并删除容器:
docker stop go-container docker rm go-container
如果不再需要Go镜像,也可以将其删除:
docker rmi golang:1.23.0
使用Docker安装和运行Go语言提供了一个干净、一致的开发环境,同时避免了在本地机器上安装多个版本的复杂性。这对于开发和测试非常有用。不过在生产环境,我们很少直接使用命令模式来部署Go环境,因为这不满足自动化要求。
3. 配置环境变量
3.1 设置GOROOT和GOPATH
- GOROOT:Go语言安装目录的环境变量,大多数情况下安装程序会自动设置。
- GOPATH:你的工作目录,用于存放Go代码和依赖包。你需要手动设置这个环境变量。例如,在bash中,你可以添加以下行到
~/.bash_profile
或~/.bashrc
:export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
3.2 更新PATH环境变量
确保添加Go的bin目录到PATH中,这样可以在任何地方运行Go命令。
4. 验证安装
打开终端或命令提示符,输入以下命令来检查Go版本,确认Go语言环境已正确安装和配置:
go version
如果看到类似与下面的回显说明你已经成功地安装了:
go version go1.23.0 windows/amd64
这意味着可以使用go CLI工具了,你可以通过help
命令查看go CLI为开发者提供的命令:
5. 设置IDE(可选)
虽然你可以使用任何文本编辑器来编写Go代码,但配置一个支持Go语言的IDE可以提高开发效率。这里我比较推荐使用Visual Studio Code配合Go插件。
这样,您就可以按照这些步骤来安装和配置Go语言开发环境。如果在安装过程中遇到任何问题,可以参考Go官方文档或在相关社区寻求帮助。
也可以使用专门的Go开发环境如jetbrains的GoLand,它的好处在于你不需要自己安装Go环境了。在其下载页面下载安装版本 https://www.jetbrains.com/go/download/#section=windows:
然后依据提示完成安装:
这里建议添加到上下文菜单,以便于后续在右键目录菜单中直接打开:
完成最后的安装:
6. 关于DockerFile和Docker Compose部署
在使用Docker和Docker Compose部署多容器Go应用时,通常每个服务(容器)都应该有自己的目录,其中包含该服务的Dockerfile
和其他配置文件。这种结构不仅有助于保持项目的组织性,还可以使每个服务的构建和部署更加独立和灵活。
项目结构示例如下:
/ ├── docker-compose.yml ├── service1/ │ ├── Dockerfile │ ├── main.go │ ├── go.mod │ ├── go.sum │ └── .env └── service2/ ├── Dockerfile ├── main.go ├── go.mod ├── go.sum └── .env
在根目录下的docker-compose.yml
文件中,你可以定义所有服务的配置,如下所示:
version: '3.8' services: service1: build: ./service1 ports: - "8080:8080" service2: build: ./service2 ports: - "9090:9090"
这个配置文件指定了两个服务,每个服务都有自己的构建上下文和端口映射。
对于每个服务,你可以在其目录下创建一个Dockerfile
。例如,service1/Dockerfile
可能如下所示:
# 使用Alpine版本的Go镜像作为构建环境 FROM golang:alpine as builder # 设置工作目录 WORKDIR /app # 复制go mod和sum文件 COPY go.mod go.sum ./ # 清理Go模块缓存 RUN go clean -modcache # 下载所有依赖 RUN go mod tidy RUN go mod download # 复制源代码到容器中 COPY . . # 构建应用程序 RUN CGO_ENABLED=0 GOOS=linux go build -o service1 . # 从builder镜像中复制构建的可执行文件 COPY --from=builder /app/service1 /service1 # 安装必要的包,例如busybox(包含sh) RUN apk add --no-cache busybox # 运行应用程序 CMD ["/service1"]
随便写一点代码作为service1的main.go:
package main import ( "fmt" "net/http" "os" ) func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, you've reached service1!") }) port := os.Getenv("PORT") if port == "" {
port = "8080" // 默认端口 } fmt.Printf("Service1 is running on port %s\n", port) http.ListenAndServe(":"+port, nil) }
go项目往往还有go.mod
和go.sum
文件,比如:
module service1 go 1.17 require ( github.com/gin-gonic/gin v1.7.4 github.com/sirupsen/logrus v1.8.1 )
github.com/gin-gonic/gin v1.7.4 h1:... github.com/gin-gonic/gin v1.7.4/go.mod h1:... github.com/sirupsen/logrus v1.8.1 h1:... github.com/sirupsen/logrus v1.8.1/go.mod h1:...
类似地,完成service2。在包含docker-compose.yml
的目录中运行以下命令来构建所有服务的镜像并启动容器:
docker-compose up --build
如果运行成功,可以看到如下信息:
[+] Running 3/3 ✔ Network egs_default Created 0.2s ✔ Container egs-service1-1 Started 2.3s ✔ Container egs-service2-1 Started
这里运行了2个Go容器,可以使用下面的命令查看该项目的Docker容器:
docker compose ps
(旧版本的Docker Compose需要使用docker-compose ps
)
此命令类似于docker ps
,但是仅仅会显示此Docker Compose项目所运行的容器。
当不再需要运行容器时,可以使用以下命令来停止并移除容器:
docker-compose down
这种结构和方法提供了更大的灵活性和可扩展性,适合复杂的多服务应用。
到此这篇golang安装配置_golang环境配置的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/goyykf/774.html