下面我们将开始写第一个程序,开始go的学习路程。我们将分两个部分来介绍,分为基础版,采用终端方式进行,进阶版,采用IDE来进行开发。
如果你还没有准备好学习环境,请参考这里从零入门Go语言–搭建windows开发环境
首先,假设我们的工作目录是c:\study。
采用终端进行开发
1、建立一个目录,命名为helloworld。我们还以终端方式进行。
1、 cd c:\study //进行工作目录
2、 mkdir helloworld //创建工作目录
3、 echo package main > main.go //创建main.go文件
4、 notepad main.go //用记事本打开main.go
Code language: Bash (bash)
2、命令行中执行以上4行命令后,就可以用记事本打开main.go。将以下内容复制到记事本,并保存。
package main // 声明包名为main,声明当前文件为项目的入口文件
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
Code language: Go (go)
3、执行run命令,第一次运行程序
5、go run main.go //运行main.go文件
Code language: Bash (bash)
采用IDE进行开发
我们推荐用vscode进行开发,如果用goland进行开发,请支持正版。
下载地址:https://code.visualstudio.com/Download ,推荐大家在官网进行下载。
1、安装后打开vs,会看到类似以下界面,依赖版本不同,界面可能会稍有不同。
2、点击 Open Folder,打开我们的工作目录c:\study。打开后可以看到有2个目录,一个是Go,这个是go的执行文件,一个是helloworld,这个是用终端方式建立的项目。
如果没有用终端方式建立项目也没有关系,请继续以下步骤。
3、首先在study目录下创建一个目录,并且命名为helloworld2,以示和终端项目的区分。
2、选中helloworld2后,新建一个文件,命名为main.go
3、选中main.go,将以下内容复制到文件内
package main // 声明包名为main,声明当前文件为项目的入口文件
import "fmt" // 导入内置 fmt 包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
Code language: Go (go)
4、保存文件后,点击调试和运行按钮。
5、这时会弹出一个窗口,要求安装go的扩展以支持go的调试和运行。请点击Find Go extension按钮,打开插件的窗口。
6、我们安装名字为Go的这个扩展,点击Install这个按钮。因为有搜索的条件,所以一般这个插件就在第一个。
7、耐心等待插件安装完成,再点击一下main.go,安装必须的依赖,这个时间可能比较长。也有可能会出现下面的这个弹窗,这时请出重启大法一般就好了,关闭vs再重新打开它。
8、等全部的依赖安装完成后,我们需要初始化一下mod。打开终端窗口,由于我们运行在vs内,所以可以直接使用vs的terminal。
1、cd c:\study\helloworld2 //进入项目目录
2、go mod init helloworld2 //初始化模块
3、go mod tidy //同步依赖,后续在增加依赖后也可以用
Code language: JavaScript (javascript)
9、运行以上3个命令后,再点击调试和运行按钮,就可以执行main.go了。
在debug console中已经输出Hello World!了,证明程序运行成功。
10、为了更方便的调试,我们可以创建launch.json文件,点击运行按钮边上的蓝色字 create a launch.json file
11、这里会弹出一个小窗口,我们选择第一个 Go:Launch Package
12、vs会自动创建出新的launch.json文件。
13、为了方便测试,我们将program的值修改为helloworld2/main.go
14、以后我们随时点击这个绿然的按钮来运行程序了。
特别说明
使用vs打开目录,实际是是打开一个项目的,所以上面的例子中我们打开study目录,实际是把study当成项目来打开,主要让大家看清目录结构。实际中,请直接打开helloworld2目录,这里,修改launch.json时,就可以直接写main.go,不需要带目录了。