golang WEB开发环境配置

前言】随着互联网的迅速发展,WEB服务器成为了连接世界的关键组件之一。而在现代编程语言中,Go 语言因其卓越的性能和并发能力而备受青睐。本博客基于x86 Linux系统来搭建golang WEB开发环境。

选择Go语言构建Web服务器优势

在选择一门语言构建 Web 服务器时,性能、并发性和开发效率是关键因素。而 Go 语言在这些方面都表现出色:

  • 高性能: Go 语言被设计成一门编译型语言,具有接近原生代码的性能。这使得 Go 语言的Web 服务器能够处理大量的并发连接和请求。
  • 并发性: Go 语言内置了 Goroutine 和 Channel 的支持,使得并发编程变得非常容易。这对于 Web 服务器来说至关重要,因为它们需要同时处理多个请求。
  • 简洁的语法: Go 语言拥有简洁的语法和清晰的代码结构,使得开发者可以更加专注于业务逻辑,而不必过多关注底层细节。 

一、安装golang环境

1.1、下载golang

golang代码版本下载:All releases - The Go Programming Language (google.cn)

注意:建议下载最新版本的前1~2个版本。

此处以go1.21.9版本为例:

1.2、解压下载的go包

1.2.1、拷贝go包至Linux

将下载的go包文件传入到Linux系统中,建议将其安装至/usr/local目录下。

1.2.2、解压go包

sudo tar -zxvf go1.21.9.linux-386.tar.gz

1.3、配置环境变量

vim ~/.bashrc文件末尾添加如下内容:

# golang env config
export GOPATH=/home/tanglg/workspace/go_workspace
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

输入source ~/.bashrc生效配置。

注意:

  • (1)以上路径可自行视实际情况定义。
  • (2)go1.18版本以后默认开启go modules模式,无需配置【export GO111MODULE=on】。
  • (3)go modules模式下,可以不配置GOPATH,默认为【/root/go】。
  • (4)GOROOT定义go源码的路径。
  • (5)GOPATH定义go的工作空间,即go依赖包下载后存储路径。

1.4、查看go版本

指令:go version

能查看到你安装的go版本,说明go环境配置成功。

1.5、设置go代理环境变量

设置了go代理环境变量,在下载依赖包时就不会出现网络连接超时的情况。

go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOPRIVATE=git.mycompany.com,githup.com/my/private

1.6、查看go环境变量

指令:go env

二、开发go应用

2.1、GOPATH目录

一般来说GOPATH下面会有三个文件夹:bin、pkg、src,没有的话自己创建。每个文件夹的作用如下所示:

  • bin:编译后的可执行文件的存放路径。
  • pkg:编译包时,生成的.a文件的存放路径。
  • src:开发应用源码路径,一般我们的工程就创建在src下面。

2.2、编译和初始化工程

下面以这个示例来说明go的编译过程:

 2.2.1、初始化Go工程

进入到test-pro目录,分别执行以下指令:  (首次执行即可)

(1)go mod init test_web

(2) go mod tidy

注意:如果上述指令出现联网超时问题,请参照1.5节,设置go代理环境变量。

2.2.2、编译go程序

博主此处写了一个小脚本编译go程序,其内容如下所示:

 #!/bin/bash

export AR=arm-linux-ar
export CC=arm-linux-gcc
export CXX=arm-linux-g++
export LINK=arm-linux-g++
export CGO_ENABLED=0
export GOARCH=arm
export GOOS=linux
export GOARM=5

go build -ldflags '-s -w --extldflags "-static -fpic"'

执行成功后,会输出可执行文件:test_web

至此,go的安装和go应用程序的编译就结束了。

三、参考文献

Linux 下安装 Golang(适用于1.18及以上版本)_linux 安装golang-CSDN博客

Linux下go环境安装、环境配置并执行第一个go程序_linux go工作目录-CSDN博客

解决go mod tidy加载模块超时问题_go mod tidy 卡住-CSDN博客

Go语言涉及CGO的交叉编译(跨平台编译)解决办法 - 知乎 (zhihu.com)

结束语】因技术能力有限,文章如有不妥之处,恳请各位技术大佬留言指正!   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值