2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程

简介: GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。

👏 Hi! 我是 Yumuing,一个技术的敲钟人

👨‍💻 每天分享技术文章,永远做技术的朝拜者

📚 欢迎关注我的博客:Yumuing's blog

GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。GO语言在语法上与C语言相类似,GO语言有以下的特点:

  1. 开源 ,开源免费是很多程序员选择GO语言的原因之一;
  2. 跨平台 ,可以在windows,Linux,MacOS等平台使用;
  3. 独具一格的面向对象编程方式 通过结构类型+关联方法来实现面向编程的能力;
  4. 网络功能丰富 这个要慢慢体会;
  5. 程序可以直接在谷歌的网站上运行 在go playground,可以直接编写代码或把自己的代码粘贴上,然后运行,所以可以在不安装任何软件的情况下使用GO语言,也可以在以下网站运行。https://play.studygolang.com/
  6. 并发编程简洁 ;
  7. 丰富的标准库 ;

由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。

下载安装Golang

下载地址:所有版本 - Go 编程语言 (google.cn)

image-20230510190956335

点击特色安装下的第一个,进行下载即可。下载完成之后,执行安装文件,全部点击下一步即可,打开 cmd 命令行,输入 go version 弹出版本号,安装成功。

配置 Golang 环境

GO111MODULE

我们可以简单的理解为,在没有go modules机制时,go工程中对于第三方功能包的管理非常复杂,也非常专业,这就导致程序员在进行开发的时候,对于第三方功能包的管理很不方便,所以才有了go modules机制。这个机制的开关是通过GO111MODULE环境变量来配置的。

GO111MODULE=off,无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

GO111MODULE=on,模块支持,go命令行会使用modules,而一点也不会去GOPATH目录下查找。

GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:

注:如果后面不需要使用,可以再将值设置为off。

GOPROXY

从字面意思就能看出,GOPROXY表示的是go的代理设置,之所以有这个环境变量,是因为go这种语言不像C语言,在C语言中,如果我们想要使用别人的第三方代码,一般有两种途径:

而在go语言中,类似于java,可以在编程时,引入第三方代码的库地址,比如git仓库,然后在编译的时候,IDE会自动的拉取第三方库文件到当前工程。
这样做虽然很方便,但是带来了一个问题:网速和限制
golang默认的GOPROXY是https://goproxy.io,这个是官方的设置,我们可以使用国内的代理,Windows下设置如下:,因为一些限制,我们不能很顺利的使用和下载这些仓库,这样就会导致下载缓慢或者失败,所以这个时候就需要一个代理来实现下载,这个代理就是中间商,可以跨过限制来访问。

golang默认的GOPROXY是https://goproxy.io,这个是官方的设置,我们可以使用国内的代理:https://goproxy.cn

开启 Go mod 模式及设置包下载国内镜像

  1. 打开高级系统设置

  2. 打开环境变量面板

    image

  3. 新建系统变量,变量名:GO111MODULE ;变量值:on

    image-20230510192528482

  4. 新建系统变量,变量名:GOPROXY ; 变量值:https://goproxy.cn

    image-20230510192546338

  5. 点击环境变量面板中的确认按钮以及高级系统设置确认按钮。

  6. 在 cmd 命令输入 go env,寻找对应变量是否设置成功,注意,不要使用设置环境变量前已打开的 cmd 窗口,存在缓存,极有可能显示设置不成功,需要新开一个 cmd 窗口,进行测试。

  7. 如果测试失败,请在 cmd 命令中分别输入

    • go env -w GOPROXY=https://goproxy.cn,direct
    • go env -w GO111MODULE=on

配置 Vscode Golang 环境

Vscode下载地址:https://vscode.cdn.azure.cn/stable/b4c1bd0a9b03c749ea011b06c6d2676c8091a70c/VSCodeUserSetup-x64-1.57.0.exe

  1. 执行安装文件,一直下一步即可完成安装。

  2. 打开 Vscode 软件,打开插件安装位置

    image(1)

  3. 搜索栏搜索 go 找到 Go 这个插件然后点击 Install 安装插件,如下图。

    image-20230510194640370

  4. 编写 HelloWord 程序进行测试

    点击 Vscode 最上面的按钮,选择 Open Folder 打开你想要的放置的代码目录,在 Vscode 中的目录文件夹的右边第一个,新建文件 hello.go,输入以下代码:

    package main
    
    import "fmt"
    
    func main() {
         
         
        fmt.Println("Hello Word!")
    }
    

    在放置代码的目录中打开 cmd 窗口:到对应文件夹的地址栏输入 cmd 即可打开 cd 到该文件夹的 cmd 窗口,输入go run hello.go 出现 Hello,Word!即为运行成功。安装 Vscode 成功。

  5. 构建 hello 项目

    在刚刚打开的 cmd 命令窗口中输入 go build hello.go,会出现 hello.exe 文件,即为项目文件,输入 hello 即可运行该文件。

Bug 集锦

The "gopls" command is not available.Run "go get -v golang.org/x/tools/gopls" to install.

image-20230510195412123

点击 install all 即可。显示如下即可。

image-20230510195821870

目录
相关文章
|
5月前
|
Java 编译器 Go
【Golang】(1)Go的运行流程步骤与包的概念
初次上手Go语言!先来了解它的运行流程吧! 在Go中对包的概念又有怎样不同的见解呢?
292 4
|
5月前
|
Java 编译器 Go
【Golang】(5)Go基础的进阶知识!带你认识迭代器与类型以及声明并使用接口与泛型!
好烦好烦好烦!你是否还在为弄不懂Go中的泛型和接口而烦恼?是否还在苦恼思考迭代器的运行方式和意义?本篇文章将带你了解Go的接口与泛型,还有迭代器的使用,附送类型断言的解释
267 3
|
5月前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
302 2
|
8月前
|
人工智能 测试技术 持续交付
Golang深入浅出之-Go语言中的持续集成与持续部署(CI/CD)
持续集成与持续部署(CI/CD)是现代软件开发的关键实践,尤其适用于Go语言项目。本文探讨了Go项目中常见的CI/CD问题,如测试覆盖不足、版本不一致和构建时间过长,并提供解决方案及GitHub Actions示例代码,帮助开发者优化流程,提升交付效率和质量。
253 5
|
10月前
|
Go 调度
GO语言函数的内部运行机制分析
以上就是Go语言中函数的内部运行机制的概述,展示了函数在Go语言编程中如何发挥作用,以及Go如何使用简洁高效的设计,使得代码更简单,更有逻辑性,更易于理解和维护。尽管这些内容深入了一些底层的概念,但我希望通过这种方式,将这些理论知识更生动、更形象地带给你,让你在理解的同时找到编程的乐趣。
192 5
|
12月前
|
Go 开发者
go-carbon v2.6.0 重大版本更新,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,提供了对时间穿越、时间差值、时间极值、时间判断、星座、星座、农历、儒略日 / 简化儒略日、波斯历 / 伊朗历的支持
252 3
|
Web App开发 安全 IDE
Go:go语言的认识理解、安装应用、语法使用之详细攻略
Go:go语言的认识理解、安装应用、语法使用之详细攻略
|
7月前
|
Cloud Native 安全 Java
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
441 1
|
7月前
|
Cloud Native Go API
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
494 0
|
7月前
|
Cloud Native Java Go
Go:为云原生而生的高效语言
Go:为云原生而生的高效语言
333 0

推荐镜像

更多