从零入门Go语言–第一个Go程序,hello world

下面我们将开始写第一个程序,开始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.goCode 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,不需要带目录了。