Golang各平台环境搭建实战

简介: 这篇文章详细介绍了如何在Windows、Linux和Mac平台上搭建Golang开发环境,包括下载和安装Go SDK、配置环境变量、安装开发工具如Visual Studio Code和Go扩展,以及如何编写和运行第一个Go程序。

                                              作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.下载Golang SDK程序包

1.SDK介绍

SDK的全称(Software Development Kit,软件开发工具包),是提供给开发人员使用的,其中包含了对应开发语言的工具包。

温馨提示:
    安装SDK的路径最好不要有中文或者特殊符号,比如空格之类的。

2.下载golang的SDK程序

官方网站:
    https://golang.google.cn/

中文网站:
    https://studygolang.com/dl

二.Windows安装和卸载Golang环境安装

1.安装Golang环境

图形化安装golang环境后,如上图所示,记得在命令行敲击"go version"命令来验证是否安装完成。

温馨提示:
    安装直接解压SDK软件包即可,卸载直接删除软件包即可。

2.配置GOPROXY及环境变量含义

GOPATH环境变量说明:
    如上图所示,是一个环境变量,用来表明你写的GO项目的存放路径(工作目录)。
    早期项目代码都放到GOPATH的src目录下。GOPATH下有3个子目录,分别为: "bin","pkg","src"。
        bin:
            存放咱们自己编写的代码编译后的二进制文件。
        pkg:
            存放编译后的库文件。
        src:
            存放已下载第三方依赖库的源码文件。
            从go1.6版本中已经不推荐了,推荐放在pkg/mod目录下,但很多项目依旧是这样存放的。


GOROOT环境变量说明:
    是我们安装go开发包的路径,而从Go 1.8版本开始,Go开发包在安装完成后会为GOPATH设置一个默认目录,并且在Go1.14及之后的版本中启用了Go Module模式之后,不一定非要将代码写到GOPATH目录下,所以也就不需要我们再自己配置GOPATH了,使用默认的即可。


GOPROXY环境变量说明:
    Go1.14版本之后,都推荐使用go mod模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH下面的src目录了,你可以在你电脑的任意位置编写go代码。(网上有些教程适用于1.11版本之前。)
    默认GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由于国内访问不到https://proxy.golang.org,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io或https://goproxy.cn。
    可以执行下面的命令修改GOPROXY:
        go env -w GOPROXY=https://goproxy.cn,direct


温馨提示:
    (1)"direct"为特殊指示符,用于指示Go回源到模块版本的源地址去抓取(比如: GitHub等)
    (2)还可以设置不走proxy的私有仓库或组,多个用逗号相隔(可选配置)
        export GOPRIVATE=git.mycompany.com,github.com/my/private



总结:
    - GOROOT:
        go是安装目录,go原生的工具在该目录下。

    - GOPATH:
        通常存放自己开发的代码(现在版本也可以不用放在GOPATH下哟)或第三方依赖库。

    - GOPROXY:
        下载依赖库时走哪个镜像代理。
        可以公司内部自建镜像,比如:"export GOPRIVATE=git.mycompany.com,github.com/my/private"。

    - PATH下的二进制文件可以在任意目录下直接运行。

    - 在$GOPATH目录建3个子目录: src,bin,pkg

    - GO Modules依赖包查找机制:
        - 下载第三方依赖存储在: $GOPATH/pkg/mod下
        - go install 生成的可执行文件存储在$GOPATH/bin下
        - 依赖包的查找顺序:
            - 工作目录
            - $GOPATH/pkg/mod
            - $GOROOT/src

三.开发工具安装

1.下载VisualStudio Code程序

下载地址:
    https://code.visualstudio.com/Download

2.安装VisualStudio Code

如上图所示,基于图形化安装VS Code即可。

3.安装VS Code中文简体插件

如上图所示,是VS Code主界面介绍。

如下图所示,点击左侧菜单栏最后一项管理扩展,在搜索框中输入chinese ,选中结果列表第一项,点击install安装。

安装完毕后右下角会提示重启VS Code,重启之后你的VS Code就显示中文啦!

4.安装VS Code的go扩展

如上图所示,现在我们要为我们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。

四.Linux和Mac环境Golang环境安装

1.下载golang程序

下载地址:
    https://studygolang.com/dl

2.配置环境变量

    (1)修改配置文件
vim ~/.bashrc
...
export GOROOT=/usr/local/yinzhengjie/go
export GOPATH=/usr/local/yinzhengjie/go_path
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin



    (2)验证环境变量是否生效
go env

3.go多版本管理

假设你的服务器上安装了多个go环境,如何高效切换版本呢?

只需要指定GOROOT路径即可,这个GOROOT路径是一个符号链接,然后符号链接指向你想要切换的版本即可。

五.编写第一个Go程序

1.基于"go module"模式新建项目

现在我们来创建第一个Go项目——"01-HelloWord"。在我们你期望的任意位置创建"01-HelloWord"目录。

使用"go module"模式新建项目时,我们需要通过"go mod init 项目名"命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。

如上图所示,我们使用"01-HelloWord"作为我们第一个Go项目的名称,执行如下命令:
    go mod init 01-HelloWord

2.编写代码

package main // 声明 main 包,表明当前是一个可执行程序

import (
    "fmt" // 导入内置 fmt 包
)

func main() { // main函数,是程序执行的入口
    fmt.Println("Hello World!") // 在终端打印 Hello World!
}

3.编译并执行

"go build"命令表示将源代码编译成可执行文件。

在"01-HelloWord"目录下执行:"go build"
    编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到“01-HelloWord.exe”可执行文件。

如上图所示,我们还可以使用-o参数来指定编译后得到的可执行文件的名字,“go build -o yinzhengjie-hello-word.exe”。

六 使用goland环境配置

1.导入常用的模块

2.字体设置

3.滚动鼠标滑轮修改字体大小

目录
相关文章
|
Go 数据库
Golang 语言编写 gRPC 实战项目
Golang 语言编写 gRPC 实战项目
135 0
|
2月前
|
Go
Golang生成随机数案例实战
关于如何使用Go语言生成随机数的三个案例教程。
199 91
Golang生成随机数案例实战
|
6月前
|
NoSQL 测试技术 Go
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
【Golang】国密SM2公钥私钥序列化到redis中并加密解密实战_sm2反编(1)
|
3月前
|
NoSQL Java 测试技术
Golang内存分析工具gctrace和pprof实战
文章详细介绍了Golang的两个内存分析工具gctrace和pprof的使用方法,通过实例分析展示了如何通过gctrace跟踪GC的不同阶段耗时与内存量对比,以及如何使用pprof进行内存分析和调优。
84 0
Golang内存分析工具gctrace和pprof实战
|
6月前
|
存储 测试技术 Go
Golang框架实战-KisFlow流式计算框架(2)-项目构建/基础模块-(上)
KisFlow项目源码位于<https://github.com/aceld/kis-flow,初始阶段涉及项目构建和基础模块定义。首先在GitHub创建仓库,克隆到本地。项目目录包括`common/`, `example/`, `function/`, `conn/`, `config/`, `flow/`, 和 `kis/`。`go.mod`用于包管理,`KisLogger`接口定义了日志功能,提供不同级别的日志方法。默认日志对象`kisDefaultLogger`打印到标准输出。
663 7
Golang框架实战-KisFlow流式计算框架(2)-项目构建/基础模块-(上)
|
6月前
|
JSON JavaScript 前端开发
Golang深入浅出之-Go语言JSON处理:编码与解码实战
【4月更文挑战第26天】本文探讨了Go语言中处理JSON的常见问题及解决策略。通过`json.Marshal`和`json.Unmarshal`进行编码和解码,同时指出结构体标签、时间处理、omitempty使用及数组/切片区别等易错点。建议正确使用结构体标签,自定义处理`time.Time`,明智选择omitempty,并理解数组与切片差异。文中提供基础示例及时间类型处理的实战代码,帮助读者掌握JSON操作。
172 1
Golang深入浅出之-Go语言JSON处理:编码与解码实战
|
6月前
|
JSON 监控 安全
Golang深入浅出之-Go语言中的反射(reflect):原理与实战应用
【5月更文挑战第1天】Go语言的反射允许运行时检查和修改结构,主要通过`reflect`包的`Type`和`Value`实现。然而,滥用反射可能导致代码复杂和性能下降。要安全使用,应注意避免过度使用,始终进行类型检查,并尊重封装。反射的应用包括动态接口实现、JSON序列化和元编程。理解反射原理并谨慎使用是关键,应尽量保持代码静态类型。
96 2
|
6月前
|
存储 监控 Go
Golang框架实战-KisFlow流式计算框架(1)-概述
KisFlow是针对缺乏数仓平台但又有实时计算需求的企业的解决方案,它提供分布式批量消费、有状态流式计算、数据流监控和分布式任务调度等功能。通过KisFunction实现业务逻辑复用,减轻对业务数据库的压力。系统包括流式计算层和任务调度层,支持多种数据源和中间件集成。KisConfig用于配置管理,KisFunction是基本计算单元。设计目标是使业务工程师能轻松进行流式计算。项目源码可在GitHub查看:https://github.com/aceld/kis-flow。
171 0
Golang框架实战-KisFlow流式计算框架(1)-概述
|
6月前
|
安全 Go
golang开发window环境搭建
golang开发window环境搭建
|
6月前
|
缓存 Cloud Native 测试技术
Golang 乐观锁实战:Gorm 乐观锁的优雅使用
在现代软件开发中,数据一致性是一个永恒的话题。随着系统规模的扩大和并发操作的增加,如何有效地处理并发冲突,确保数据的完整性,成为了开发者必须面对的挑战。本文将带你深入了解 Golang 中 Gorm ORM 库的乐观锁机制,并通过实际示例,展示如何在项目中优雅地使用乐观锁。