热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

三、Go环境安装

三、Go环境安装3.1、Go编译器的下载官网:https:golang.google.cngo中文网:https:studygolang.comdl 3.2、安装forMac3.2.1、mac系统下安装SDK 安装完成以后可以使用终

三、Go环境安装

3.1、Go编译器的下载

官网:https://golang.google.cn/
go中文网:https://studygolang.com/dl

 

image-20220719153914987

3.2、安装 for Mac

3.2.1、 mac系统下安装SDK

 

安装完成以后可以使用终端软件(例如iTerm)中输入go version查看Go编译器的版本信息

mac系统下会默认安装到GOROOT="/usr/local/go"中,通过go env可以查看

3.2.2、 mac系统下配置GOPATH

开发包安装完成后,我们还需要配置一下GOPATH 环境变量,之后才可以使用Go语言进行开发。GOPATH是开发人员编写Go程序的工作空间路径,也就是存放Go代码的地方

在终端中运行 vi ~/.bash_profile 添加下面这行代码

export GOPATH=$HOME/goWork

 

保存然后退出你的编辑器。然后在终端中运行下面命令

source ~/.bash_profile

 

提示:HOME是每个电脑下的用户主目录,每个电脑可能不同,可以在终端运行echoHOME 获取

然后保存并退出编辑器,运行 source ~/.bash_profile 命令即可。

3.3 安装 for Window

3.3.1、window系统下安装SDK

双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“I accept …”然后点击“Next”即可。

在 Windows 系统下Go语言开发包会默认安装到 C 盘的 Go 目录下,推荐在这个目录下安装,使用起来较为方便。当然,你也可以选择其他的安装目录,确认无误后点击“Next”,如下图所示:

Go语言开发包的安装没有其他需要设置的选项,点击“Install”即可开始安装,如下图所示:

等待程序完成安装,然后点击“Finish”退出安装程序。

安装完成后,在我们所设置的安装目录下将生成一些目录和文件,如下图所示:

在默认情况下,win系统下Go 将会被安装在目录 c:\go 下,但如果你在安装过程中修改安装目录,则需要手动修改所有的环境变量的值。

通过go env命令可以查看环境变量的所有情况。值得一提的是,GOROOT 表示 Go 开发包的安装目录。

国内Go语言库镜像:https://github.com/goproxy/goproxy.cn 在终端输入:go env -w GOPROXY=https://goproxy.cn,direct对代理进行修改。

GOPROXY https://proxy.golang.org,direct

阿里云: export GOPROXY=https://mirrors.aliyun.com/goproxy/

七牛云: export GOPROXY= https://goproxy.cn

go env -w “GO111MODULE=off” // 关闭go mod

3.3.2、window系统下配置GOPATH

GOPATH 是 Go语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录(workspace)。

GOPATH下创建src文件夹,即存放Go项目代码的位置。

开发包安装完成后,我们还需要配置一下GOPATH 环境变量,之后才可以使用Go语言进行开发。GOPATH是开发人员编写Go程序的工作空间路径,也就是存放Go代码的地方。 在桌面或者资源管理器右键“此电脑”(或者“我的电脑”)→“属性”→“高级系统设置”→“环境变量”,如下图所示。

在弹出的菜单里找到 GOPATH 对应的选项点击编辑之后就可以修改了,没有的话可以选择新建,并将变量名填写为 GOPATH,变量值设置为任意目录均可(尽量选择空目录),例如 F:\GoWork。

GOPATH对应创建的文件夹中里面,手动创建如下3个目录

 
src    存储go的源代码(需要我们自己手动创建)
pkg  存储编译后生成的包文件 (自动生成)
bin   存储生成的可执行文件(自动生成)

3.4、第一个Go程序

package main //声明文件所在的包,每个go文件必须有归属的包

import "fmt" // 引入程序中需要的用的包,为了使用包下的函数,比如: Println

func main() { //main 主函数, 程序的入口
	fmt.Println("hello word") // 在控制台打印输出一句话,双引号中的内容会原样输出


}
 

  1. 程序没有涉及到自定义包调用时可以放在电脑任何位置
  2. 为了以后方便管理,我们暂时统一放在gopath的src下
  3. 后面会学习go mod更好进行包管理

3.4.1、程序语法解析

(1) main包和main函数

Go语言以“包”作为管理单位,每个 Go 源文件必须先声明它所属的包,所以我们会看到每个 Go 源文件的开头都是一个 package 声明。Go语言的包与文件夹是一一对应的。一个Go语言程序必须有且仅有一个 main 包。main 包是Go语言程序的入口包,如果一个程序没有 main 包,那么编译时将会出错,无法生成可执行文件。

(2) import

在包声明之后,是 import 语句,用于导入程序中所依赖的包,导入的包名使用双引号""包围,格式如下:

 
import "name"

其中 import 是导入包的关键字,name 为所导入包的名字。

导入的包中不能含有代码中没有使用到的包,否则Go编译器会报编译错误

也可以使用一个 import 关键字导入多个包,此时需要用括号( )将包的名字包围起来,并且每个包名占用一行

 
import(
    "p1"
    "p2"
)

3.4.2、程序编译执行

我们上面给大家介绍过,Go语言是像C语言一样的编译型的静态语言,所以在运行Go语言程序之前,先要将其编译成二进制的可执行文件。

可以通过Go语言提供的go build或者go run命令对Go语言程序进行编译:

(1) go build命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件;

1、如果是普通包,当你执行go build之后,它不会产生任何文件。【非main包】

2、如果是main包,当你执行go build之后,它就会在当前目录下生成一个可执行文件,比如win系统的exe文件

3、你也可以指定编译输出的文件名。我们可以指定go build -o 可执行文件.exe

(2)除了使用go build命令外,Go语言还为我们提供了go run命令,go run命令将编译和执行指令合二为一,会在编译之后立即执行Go语言程序,但是不会生成可执行文件。

 
go run go文件名称  //  go文件名称不能为空

3.5、IDE的安装与使用

3.5.1、安装Goland

GoLand是Jetbrains公司推出专为Go开发人员构建的跨平台IDE,可以运行在Windows,Linux,macOS系统之上,

下载地址:https://www.jetbrains.com/go/download/#section=windows

下载完成之后便可以进行安装了

因为GoLand是收费的IDE,同时也提供了30天免费试用的方式。如果经济能力允许的话,可以从指定渠道购买正版GoLand. GoLand提供了Jetbrains Account,Activition Code和License Server三种激活方式,使用前必须激活或者选择免费试用 当激活或者选择免费试用之后便会启动GoLand。

免费试用需要点击log in,进行账户注册(在PC端完成),然后登陆,即可试用30天

此时可以选择New Project在指定的路径创建新的项目目录或者选择Open打开已经存在的项目目录,进行编辑。

3.5.2、GoLand下编写Go程序

当GoLand启动后,便可以使用它来编写Go程序了。首先选择New Project创建一个项目。然后设置项目路径和GOROOT

然后点击create创建。

创建文件和文件夹:

goland安装好后没有编译器的单独配置go编译器路径:

3.5.3、IDE的快捷键

快捷键 作用
Ctrl + / 单行注释
Ctrl + Shift + / 多行注释
Ctrl + D 复制当前光标所在行
Ctrl + X 删除当前光标所在行
Ctrl + Alt + L 格式化代码
Ctrl + Shift + 方向键上或下 将光标所在的行进行上下移动(也可以使用 Alt+Shift+方向键上或下)
Ctrl + Alt + left/right 返回至上次浏览的位置
Ctrl + R 替换
Ctrl + F 查找文本
Ctrl + Shift + F 全局查找

3.5.4、控制台折叠多余信息


推荐阅读
  • 按照之前我对map的理解,map中的数据应该是有序二叉树的存储顺序,正常的遍历也应该是有序的遍历和输出,但实际试了一下,却发现并非如此,网上查了下,发现从Go1开始,遍历的起始节点就是随机了,当然随机 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 认真一点学 Go:18. 并发
    收录于《Go基础系列》,作者:潇洒哥老苗。>>原文链接学到什么并发与并行的区别?什么是Goroutine?什么是通道?Goroutine如何通信?相关函数的使用?sel ... [详细]
  • golang 解析磁力链为 torrent 相关的信息
    其实通过http请求已经获得了种子的信息了,但是传播存储种子好像是违法的,所以就存储些描述信息吧。之前python跑的太慢了。这个go并发不知道写的有没有问题?!packag ... [详细]
  • Go冒泡排序练习
    package main要求:随机生成5个元素的数组,并使用冒泡排序对其排序  从小到大思路分析:随机数用mathrand生成为了更好 ... [详细]
  • RHEL/CentOS/Fedora Linux命令下安装Google Chrome
    键入以下命令查看当前版本是32还是64$echoYouareusing$(getconfLONG_BIT)bitLinuxdistro.You64 ... [详细]
  • docker是跨平台的?_跨平台构建 Docker 镜像新姿势,x86、arm 一把梭
    点击阅读原文可以获得更好的阅读体验。前言在工作和生活中,我们可能经常需要将某个程序跑在不同的CPU架构上,比如让某些不可描述的软件运行在树莓派或嵌入 ... [详细]
  • NSSROUND#8[Basic]
    文章目录一、[NSSRound#8Basic]MyDoor二、[NSSRound#8Basic]Upload_gogoggo三、[NSSRound#8Basic]MyPage四、[ ... [详细]
  • ———Java培训、Android培训、iOS培训、.Net培训、期待与您交流!———一、引用计数器每个OC对象都有自己的引用计数器,表示“对象被引用 ... [详细]
  • 编译lib手动编译cmake编译gtest测试程序断言和caseFixture使用gmock编译gmock测试程序参考GtestGithub使用gtest(gmock)方便我们编写 ... [详细]
  • Logistic回归主要针对输入的数据是多个,输出则是有限的数值型,多为2个分类。涉及到以下方面:1.输出yw0+w1*x1+w2*x2+..(x1,x2,是样本的 ... [详细]
  • 双向链表的基本操作C语言
    双向链表的基本操作C语言 ... [详细]
  • 好久没玩过C语言了,上一次还是在大二的时候。。。废话不多说,这里有一个C语言实现的学生选课系统代码,分享给大家,具体如下&# ... [详细]
  • 为什么python是动态类型语言_Python 3.7.0 面向对象的动态类型语言
    代表Python开发社区和Python3.7发布团队,我们很高兴地宣布https:www.python.orgdownloadsreleasepython-370 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
author-avatar
美甲控Alily
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有