写点什么

Go 学习笔记之 Hello World

发布于: 2021 年 07 月 01 日
Go学习笔记之Hello World

Hello World

任何语言的开始,都离不开“hello world”案例,我们今天也不例外,还是以这个作为开始吧~


//helloworld.go
package main
import "fmt"
func main() { fmt.Println("Hello, World!")}
复制代码

Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令go调用,go命令有一系列子命令。最简单的一个子命令就是 run。这个命令编译一个或多个以.go 结尾的源文件,链接库文件,并运行最终生成的可执行文件。

$ go run helloworld.go
复制代码

执行输出内容如下:

Hello, World!
复制代码


程序本身

Go 语言的代码通过(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个.go 源代码文件组成,目录定义包的作用。每个源文件都以一条package声明语句开始,这个例子里就是package main,表示该文件属于哪个包,紧跟着一系列导入(import)的包,之后是存储在这个文件里的程序语句。

import声明必须跟在文件的package声明之后。

随后,则是组成程序的函数、变量、常量、类型的声明语句(分别由关键字funcvarconsttype定义)。


开篇例子的程序已经尽可能短了,只声明了一个函数,其中只调用了一个其他函数。为了节省篇幅,有些时候示例程序会省略packageimport声明,但是,这些声明在源代码里有,并且必须得有才能编译。

一个函数的声明由func关键字、函数名、参数列表、返回值列表(这个例子里的main函数参数列表和返回值都是空的)以及包含在大括号里的函数体组成。

语法格式

  • Go 语言不需要在语句或者声明的末尾添加分号

实际上,编译器会主动把特定符号后的换行符转换为分号,因此换行符添加的位置会影响 Go 代码的正确解析(译注:比如行末是标识符、整数、浮点数、虚数、字符或字符串文字、关键字breakcontinuefallthroughreturn中的一个、运算符和分隔符++--)]}中的一个)。

举个例子,函数的左括号{必须和func函数声明在同一行上,且位于末尾,不能独占一行,而在表达式x + y中,可在+后换行,不能在+前换行

以+结尾的话不会被插入分号分隔符,但是以 x 结尾的话则会被分号分隔符,从而导致编译错误。


  • Go 语言在代码格式上采取了很强硬的态度

gofmt工具把代码格式化为标准格式,这个格式化工具没有任何可以调整代码格式的参数,并且go工具中的fmt子命令会对指定包,否则默认为当前目录中所有.go 源文件应用gofmt命令。



作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长

关注并私信我回复“01”,送你一份程序员成长进阶大礼包,欢迎勾搭。



Thanks for reading!

发布于: 2021 年 07 月 01 日阅读数: 7
用户头像

坚持分享接地气儿的架构技术文章! 2018.02.26 加入

同名微信公众号「架构精进之路」,专注软件架构研究,技术学习与职业成长!坚持原创总结、沉淀和分享,希望能带给大家一些引导和启发,感谢各位的支持(关注、点赞、分享)!

评论

发布
暂无评论
Go学习笔记之Hello World