【Go-04】GoLand下进行GO开发的入门教程

一Go到底 / 2022-10-31

🚀Goland安装与GO的开发

📓推荐网站(不断完善中):个人博客

📌个人主页:个人主页

👉相关专栏:CSDN专栏个人专栏

🏝立志赚钱,干活想躺,瞎分享的摸鱼工程师一枚

🏖前言

​ 不同的人对于开发工具的习惯还是不一样的,所以博主还是决定,简单出一份关于GoLand的使用教程,方便于在开发过程中不同的开发习惯,但是在此还是希望如果是刚刚入门的小白们,要明白的一点是无论是编程语言还是编程工具,他们都应该是处于一个可切换的状态,并不是一门语言和一个IDE工具就阻挡下你的脚步,加油!


1.关于GoLand的工具

​ GoLand 是一款由捷克软件开发公司JetBrains 专为 Go 开发的跨平台的商业 IDE。Goland 具有 Strong Code Insight、Navigation & Search、Run & Debug、Integration with VCSs、More than just a Go IDE 以及较强的 Extensibility,能够帮助 Gopher 轻松愉悦方便快捷地 read 和 write Go code。

JetBrains 公司出品的 IDE,在业界有着良好的口碑,比如 CLion for C/C++、IntellijI IDEA for Java、PyCharm for Python、PhpStorm for PHP、WebStorm for JavaScript 等。Goland 一经推出,受到了广大 Gopher 的喜爱。(当然因为敏感的原因,本教程并不教学如何破解软件,请大家自行百度。也可以选择使用VSCode,如有能力则可以购买正式版)

在此附上GoLand官方下载地址

1.1.安装过程

  • 没有什么特别复杂的操作,基本点击下一步即可
  • 可以根据自己的习惯将项目安装在自己想要的目录下,尽量不要出现中文名文件夹路径
  • 根据自己的系统选择安装的型号如是64位系统在选项界面勾选.64.go即可

1.2.安装完成

​ 在安装完成后(当然你可以先免费用一个月),就可以看到这样的界面,就可以开始准备我们的Go之旅啦!

0401
  • New Project:表示新建一个项目
  • Open:表示打开一个项目
  • Get from VCS:表示从版本管理器中打开项目(SVN、Gitee、GitHub)

2.快速上手

2.1.创建项目

​ 任何工具的第一步实际上都是要先学会如何创建一个项目,那么我们在使用GoLand也是一样,从创建一个项目开始。

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

    0402
    • 选择Go项目,如果选择带有GOPATH标记的则表示将项目默认创建在你配置好的GOPATH空间下(不懂GOPATH可以回看博主之前的文章)
      • 在GoLand中,一个项目就可以作为一个工作空间,所以选择Go则表示要将这个新建的项目作为一个独立的工作空间进行开发
    • Location:表示当前项目的位置
    • GOROOT:表示你GO环境的开发包安装位置,这个如果在环境变量已经配置好的情况下会自动帮你填写,如果没配置建议先配置好环境变量。
    • Environment:Go的一些mod可能需要外网下载,因为一些不可描述的原因我们无法访问,因此可以通过配置GOPROXY代理来改变代理成国内的下载代理,这个可以暂时先不配置。(想配置GOPROXY可以查看VSCode配置篇)
  • 项目创建成功的界面

    0403

2.2.创建.go程序文件

在对项目新建做完基础讲解后,我们可以开始创建我们的新.go文件了

  • 点击我们的项目右键->New->Go File选择创建一个简单的应用

    0404

    • 创建Simple application会得到一个带有简单main函数的文件,这是一个程序的入口
  • 创建好的代码内容如下:

    0405

2.3.配置mod的开启与关闭

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

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

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

    • 注意:代理修改完,重启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文件才会启用

2.4.用GoLand写第一份代码

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

  • 因此你只需要在main中手动输入自己的第一份代码,即可!

    fmt.Println("Hello Let's GO!") // 在终端打印
    
    // 输入相关代码后Goland就会自动帮你导入`fmt`
    
  • 点击运行按钮(在右上角有一个绿色的▶️)

    0407
  • 得到运行结果

    0408

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

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

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

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

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

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

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

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

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

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

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

      0411
  • 至此,工具安装完成!

3.GoLand常用快捷键

  • 文件相关快捷键:

    • CTRL+E:打开最近浏览过的文件

    • CTRL+SHIFT+E:打开最近修改的文件

    • CTRL+N:可以快速打开struct结构体

    • CTRL+SHIFT+N:可以快速打开文件

  • 代码格式化

    • CTRL+ALT+T:可以把代码包在一个快哪,例如if{…}else
    • CTRL+ALT+L:格式化代码
    • CTRL+SPACE:代码提示
    • CTRL+/:单行注释。CTRL+SHIFT+/:多行注释
    • CTRL+B:快速打开光标处的结构体或者方法
    • CTRL+“+/-”:可以将当前方法进行展开或折叠
  • 查找和定位

    • CTRL+R:替换文本
    • CTRL+F:查找文本
    • CTRL+SHIFT+F:进行全局查找
    • CTRL+G:快速定位到某行
  • 代码常用

    • ALT+Q:可以看到当前方法的声明。
    • SHIFT+ENTER:可以向下插入新行。即使光标在当前行的中间
    • CTRL+Backspace:按单词进行删除或删除光标所在行
    • CTRL+X剪切当前光标所在行
    • CTRL+D:复制当前光标所在行。
    • ALT+SHIFT+UP/DOWN:可以将光标所在行的代码上下移动。
    • CTRL+SHIFT+U:可以将选中内容进行大小写转化。

🏜写在最后

本文主要是教学基本的GoLand使用,以及如何使用该工具开发第一个Go程序,以上为个人分享,如有问题请指正!(还是提醒各位入门的同好们,工具无论是GoLand或是VSCode并没有绝对的高下之分)

快乐与分享!