Go学习第一章——开发环境安装以及快速入门(GoLand)

官网:https://golang.org/
go sdk下载:https://golang.google.cn/dl/
golang中文社区:https://studygolang.com/dl
中文社区文档 https://studygolang.com/pkgdoc

一、环境配置

1.1 go开发工具
  • goland
  • IDEA golang插件
  • vscode

推荐使用goland

GoLand官网下载:https://www.jetbrains.com/go/download/#section=windows

1.2 go sdk下载

下载安装后,windows上会自动添加到环境变量,如果使用goland,会默认找到sdk的位置。

在这里插入图片描述

使用Installer Windows 可以直接软件安装,快一些,方便,而且自动配置环境变量,如果想自己设置也可以

具体参考下面的是链接:

Go语言开发环境搭建详细教程+go常见bug合集

Go GOROOT 与 GOPATH 介绍

GOROOT:Go 语言安装根目录的路径,也就是 GO 语言的安装路径。
GOPATH:若干工作区目录的路径。是我们自己定义的工作空间。
GOBIN:GO 程序生成的可执行文件(executable file)的路径。

在这里插入图片描述

设置 GOPATH得作用
你可以把 GOPATH 简单理解成 Go 语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个目录都代表 Go 语言的一个工作区(workspace)。
我们需要利于这些工作区,去放置 Go 语言的源码文件(source file),以及安装(install)后的归档文件(archive file,也就是以“.a”为扩展名的文件)和可执行文件(executable file)。

3.1 go相关命令行

(1) 查看go sdk版本

go version

(2) go代码生成exe文件, 执行以下命令会将test.go在当前目录生成test.exe

go build test.go

(3) 直接运行结果,不生成exe文件

go run test.go

(4) 指定生成文件的名字

go build -o sever.exe test.go

(5) 命令行格式化代码

gofmt -w test.go

直接运行gofmt test.go只是显示格式化后的代码格式,不写道文件里面
(6) go doc 看api说明
查看内置函数delete的说明

go doc builtin.delete 

二、快速入门

2.1 创建项目

这里使用GoLand作为开发工具讲解

选择我们的 New Project ,那么我们就会看到如下界面

在这里插入图片描述

选择 Go 项目,如果选择带有 GOPATH 标记的则表示将项目默认创建在你配置好的 GOPATH 空间下

在 GoLand 中,一个项目就可以作为一个工作空间,所以选择 Go 则表示要将这个新建的项目作为一个独立的工作空间进行开发

Location: 表示当前项目的位置

GOROOT: 表示你GO环境的开发包安装位置,这个如果在环境变量已经配置好的情况下会自动帮你填写,如果没配置建议先配置好环境变量。

Environment: Go 的一些 mod 可能需要外网下载,因为一些不可描述的原因我们无法访问,因此可以通过配置 GOPROXY 代理来改变代理成国内的下载代理,这个可以暂时先不配置。

想写,可以直接填入:GOPROXY=https://goproxy.cn,direct

创建成功如下:

在这里插入图片描述

2.2 创建.go程序文件

这里我们可以简单尝试一下:

在这里插入图片描述

  • 创建 Simple application 会得到一个带有简单 main 函数的文件,这是一个程序的入口

创建的好的代码如下:在这里插入图片描述

2.3.配置 mod 的开启与关闭

在我们的本地环境中我们可以通过指令来配置 go mod 模块管理的开启与关闭,而在我们的 Goland 中我们也可以通过设置来改变 go mod 的启用,我们在使用 Goland 的时候可以开启 go mod

  • Preferences ->Go ->Go Modules 进行设置,如下:

在这里插入图片描述

关于代理: 因我我们众所周知一些原因,所以代理可以修改为国内,方便获取资源,留下以下几种资源地址

注意:代理修改完,重启 GoLand 生效
阿里云:https://mirrors.aliyun.com/goproxy/
nexus 社区提供的:https://gonexus.dev
goproxy.io 的:https://goproxy.io/
官方提供的:https://proxy.golang.org
七牛云赞助支持的:https://goproxy.cn
是否使用 go mod 的区别:

  • 开启mod:go env -w GO111MODULE=on ,会将包下载到 gopath 下的 pkg 下的 mod 文件夹中
  • 关闭mod:go env -w GO111MODULE=off ,会将包下载到 gopath 下的 src 下
  • go env GO111MODULE=auto 只有当前目录在 GOPATH/src 目录之外而且当前目录包含 go.mod 文件或者其子目录包含 go.mod文件才会启用rticle/details/128001422
2.4 用 GoLand 写第一份代码

在刚刚我们已经新建了一个带有 main.go 文件,那么我们接下来就需要在 main() 中写下我们的第一份代码, Goland 是相对比较智能的,很多基础包不需要你去写 import ,你只需要直接写你要的工具模块,它就会自动帮你导入相关的模块。

在这里插入图片描述

  • 点击运行,右上角的这个标志,或者,右键运行

在这里插入图片描述

  • 运行结果:

在这里插入图片描述

2.5.代码静态检测(此部分非必要)

我们之前有说过,Go 语言对于代码的检测和格式是有自己官方的统一规范和自动化的,所以就减少了出现不同程序不同的代码风格导致相互之间可阅读性降低的问题。

使用 GoLand 编写 Go 代码时,可以配合 gofmt + goimports + golangci-lint 在保存时完成对代码的格式化和质量检测。

  • 开启 go fmt: 在每次保存代码文件时自动格式化代码。

File > Settings > Tools > File Watchers > + > go fmt

在这里插入图片描述

  • 开启 goimports 在每次保存代码时自动添加缺失的和删除未引用的包。

File > Settings > Tools > File Watchers > + > goimports

如果遇到 `tools` 工具没安装, `Goland` 则会提醒你安装

在这里插入图片描述

​ 如果安装失败,则可能是国内代理的原因,请修改代理(这里不再重复赘述,可参考前一篇文章内容)

  • **开启 golandci-lint: ** 开启 golangci-lint 可以对代码进行静态检查,比如报告函数行数超标、文件行数超标等来帮助规范代码

File > Settings > Tools > File Watchers > + > golangci-lint

在这里插入图片描述

  • 工具安装完毕!!!

三、初步了解

3.1 代码解释以及编译

前面的代码每一行详解如下

在这里插入图片描述

下一步,我们进行编译

  • 来到文件的源文件下

在这里插入图片描述

  • 打开cmd,运行go build test.go ,然后会发现生成了一个.exe文件,可以直接运行,会发现输出对应的内容

在这里插入图片描述

3.2 Golang执行流程

执行流程分析:

在这里插入图片描述

上述两种执行流程的方式区别

  • 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件
    变大了很多。

在这里插入图片描述

  • 如果我们先编译生成了可执行女件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行

  • 如果我们是直接go run go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行。

  • go run运行时间明显要比第一种方式 长一点点

  • 编译后的文件可以另外指定名字:

在这里插入图片描述

3.3 语法注意事项

(1)源文件以"go"为扩展名。
(2)程序的执行入口是main()函数。
(3)严格区分大小写。
(4)方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。(其实可以自己写分号,例如:一行某一段结束价格分号,再接其他的也是OK的,这样相当于两条语句)
(5)Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
(6)定义的变量或者import的包如果没有使用到,代码不能编译通过。
(7)大括号都是成对出现的,缺一不可

3.4 注释

Go支持c语言风格的**/* */块注释,也支持c++风格的//**行注释。行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码
(1)行注释 // GoLand快捷键:ctrl+/ 再按一次取消注释
(2)块注释(多行注释) / * */ GoLand快捷键:ctrl+shift+/ 再按一次取消注释

注意:块注释中不可以嵌套块注释

提示:官方推荐使用行注释 //

3.5 代码风格
  1. 注意缩进

    • 向后缩进:tab
    • 向前取消缩进:shift+tab

    可以通过命令行实现:

    • gofmt test.go(仅展示数据,不改变原数据)

    • gofmt -w test.go(更改原代码的缩进情况)

    **GoLand软件自带快捷键:Ctrl+Alt+L **

  2. 成对编程 {} () “” ‘’

  3. 运算符两边加空白

在这里插入图片描述

  1. 注释:官方推荐行注释//
  2. 以下代码是错误的:

在这里插入图片描述

  1. 行长约定:

    一行最长不超过80个字符,超过的请使用换行展示,尽量保持格式优雅

    • 错误方式:

在这里插入图片描述

  • 正确方式(使用,进行拼接)

在这里插入图片描述

3.6 API

在这里插入图片描述

Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org

Golang中文网在线标准库文档: https://studygolang.com/pkgdoc
在这里插入图片描述

函数对应的源码查看:

在这里插入图片描述

也可以使用离线API:这里略~~~~
97726997615)]

Go语言提供了大量的标准库,因此 google 公司也为这些标准库提供了相应的API文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法。官方位置:https://golang.org

Golang中文网在线标准库文档: https://studygolang.com/pkgdoc

[外链图片转存中…(img-XYf2WQpH-1697726997615)]函数对应的源码查看:

[外链图片转存中…(img-RMsNmwtC-1697726997615)]

也可以使用离线API:这里略~~~~

这样就成功入门啦,冲冲冲!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Goland是一款由JetBrains开发的集成开发环境(IDE),专门用于Go语言开发。下面是Goland的安装及环境配置步骤: 1. 下载Goland:首先,你需要从JetBrains官网下载Goland的安装包。访问https://www.jetbrains.com/go/,选择适合你操作系统的版本进行下载。 2. 安装Goland:下载完成后,运行安装包并按照提示进行安装。根据你的操作系统,可能需要提供管理员权限。 3. 启动Goland:安装完成后,你可以在应用程序菜单中找到Goland,并启动它。 4. 配置Goland:在首次启动Goland时,你需要进行一些初始配置。可以选择导入之前的设置或者使用默认设置。 5. 创建项目:在Goland中,你可以创建一个新的Go项目或者导入一个已有的项目。选择"Create New Project"或者"Open"选项,并按照提示进行操作。 6. 配置Go SDK:在创建或导入项目后,你需要配置Go SDK。如果你已经安装了Go语言开发环境,可以选择已有的Go SDK路径。否则,可以选择下载并安装Go SDK。 7. 配置GOPATH:在Goland中,你还需要配置GOPATH,它是Go语言项目的工作目录。可以在Goland的设置中找到"Go"选项,并设置GOPATH的值。 8. 开始开发:完成以上步骤后,你就可以开始在Goland中进行Go语言开发了。Goland提供了丰富的功能和工具,如代码自动补全、调试器、版本控制等,可以提高开发效率。 希望以上步骤对你有所帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值