学习一门编程语言,从Hello World
程序开始是编程界的惯例,所以这节课带大家从0开始编写一个Go语言的Hello World
程序,并做一个详细的介绍。
为了提供一致的开发环境,本系列课程实践环节采用容器化方式搭建Go语言开发环境,请参考《搭建Golang在线开发环境(随时随地码代码)》
实践步骤
-
在浏览器中打开vscode,如果没安装的请参考《搭建Golang在线开发环境(随时随地码代码)》
-
输入密码,进入vscode,
-
在浏览器访问:
http://127.0.0.1:8080/?folder=/home/coder/workspace
,可以让web版的vscode打开workspace目录 -
打开vscode的终端,可以使用快捷键ctrl+`打开,或者单击vscode菜单->视图->终端打开。打开后如图所示:
-
在终端中输入如下命令创建项目文件夹
jagitch@34c4dd4d4a3e:workspace$ mkdir go-hello jagitch@34c4dd4d4a3e:workspace$ cd go-hello
- 1
- 2
-
初始化go module
jagitch@34c4dd4d4a3e:go-hello$ go mod init go-hello go: creating new go.mod: module go-hello
- 1
- 2
-
创建main.go文件
jagitch@34c4dd4d4a3e:go-hello$ touch main.go
- 1
-
我们的
Hello World
程序就编写在main.go中,源代码如下:package main func main(){ println("Hello World!") }
- 1
- 2
- 3
- 4
- 5
源代码是不是非常简洁,这是我见过的编译型语言里最简洁的(此处不能和动态脚本语言比较,如Python、js等只需一条语句即可。
-
在终端中运行Go的
Hello World
程序jagitch@34c4dd4d4a3e:go-hello$ go run main.go Hello World!
- 1
- 2
-
当然也可以使用vscode中的UI的方式运行程序(这是传统的运行方式),打开vscode菜单->RUN->Start Debugging,就可以看到我们的程序运行成功了。
运行结果在
DEBUG CONSOLE
面板中可以看到
源码解析
package main
func main(){
println("Hello World!")
}
- 1
- 2
- 3
- 4
- 5
-
第一行
package main
声明了一个名叫main
的包,Go语言中的代码使用package进行组织的。 -
func main(){}
定义了一个函数,main就是函数的名称,它没有参数也没有返回值。函数将实现同一种功能的所有代码组织在一起,便于重用和管理。 -
main函数中的大括号里面就是这个函数的函数体。
-
println("Hello World!")
这是一条语句,println也是一个函数,它是编译器内置的一个函数,此处是使用println这个函数,作用是把"Hello World"这个字符串打印出来。 -
"Hello World"
这个由双引号括起来的一行字符,在编程界中叫做字符串。 -
大多数语言中语句都要以分号结尾,但是Go语言为了简洁、为了让编程生活生活得更舒服,它不用输入分号,可能刚开始还不习惯,总是在行尾加分号导致报错,但是习惯了不写分号后就会觉得不写分号真的很舒畅。
-
Go语言是一种编译型的静态类型的语言,它的编译器功能非常强大,会在我们写代码时帮我们进行语法检查、类型检查,如果有错误,就会以红色波浪线提示我们代码写错了,我们就可以及时改正。如下图所示,把
println
改成println2
,因为编译器没有提供这个内置函数,所以会报错。
总结
-
本文首先主要介绍了浏览器端的vscode的使用,写的非常详细,这主要是为了照顾零基础的同学,而且以后的课程都是使用该开发环境,建议大家搭建好这个浏览器端的开发环境,这种方式搭建的开发环境还有个好处,你可以使用手机或平板使用浏览器就可以查看、编写、运行自己写的代码,如果你使用云服务器(有公网IP)搭建的话,就可以在任何地方任何时候使用手机进行项目开发,当然如果你主机网络支持IP6的话,在外面也可以通过IP6地址访问你的vscode进行项目开发。
-
本文也展示了Go语言编写的一个
Hello World
程序,很简洁且易懂,首先使用go mod init go-hello
将项目声明为一个go module
,go module
是比package大一级的概念,一个module(模块)可以包含多个pacakge(包),而一个包可以包含多个文件,但是同一个目录下只能声明一个包。然后我们在main.go这个文件中声明了一个main包,然后在该包中定义了一个main函数,作为可执行程序,main包和main函数是必须的,因为这是程序的入口。最后用println
这个内置函数将"Hello World"
打印出来。
推荐阅读
1. 【Go零基础系列】000:序言
2. 【Git从入门到精通】系列课程02:从0开始为项目使用git进行版本控制
3. 搭建Golang在线开发环境(随时随地码代码)
评论记录:
回复评论: