美文网首页
go语言代码解读

go语言代码解读

作者: rosekissyou | 来源:发表于2020-06-23 17:56 被阅读0次

每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。包是Go语言里

最基本的分发单位,也是工程管理中依赖关系的体现。要生成Go可执行程序,必须建立一个名

字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点)。

Go语言的main()函数不能带参数,也不能定义返回值。命令行传入的参数在os.Args变量

中保存。如果需要支持命令行开关,可使用flag包。在本书后面我们将解释如何使用flag包来

做命令行参数规范的定义,以及获取和解析命令行参数。

在包声明之后,是一系列的import语句,用于导入该程序所依赖的包。由于本示例程序用

到了Println()函数,所以需要导入该函数所属的fmt包。

有一点需要注意,不得包含在源代码文件中没有用到的包,否则Go编译器会报编译错误。

这与下面提到的强制左花括号{的放置位置以及之后会提到的函数名的大小写规则,均体现了Go

语言在语言层面解决软件工程问题的设计哲学。

所有Go函数(包括在对象编程中会提到的类型成员函数)以关键字func开头。一个常规的

函数定义包含以下部分:

func 函数名(参数列表)(返回值列表) {

// 函数体

}

对应的一个实例如下:

func Compute(value1 int, value2 float64)(result float64, err error) {

// 函数体

}

Go支持多个返回值。以上的示例函数Compute()返回了两个值,一个叫result,另一个是

err。并不是所有返回值都必须赋值。在函数返回时没有被明确赋值的返回值都会被设置为默认

值,比如result会被设为0.0,err会被设为nil。

Go程序的代码注释与C++保持一致,即同时支持以下两种用法:

/*

块注释

*/

// 行注释

相信熟悉C和C++的读者也发现了另外一点,即在这段Go示例代码里没有出现分号。Go

程序并不要求开发者在每个语句后面加上分号表示语句结束,这是与C和C++的一个明显不同

之处。

有些读者可能会自然地把左花括号{另起一行放置,这样做的结果是Go编译器报告编译错

误,这点需要特别注意:

syntax error: unexpected semicolon or newline before 

相关文章

  • go语言代码解读

    每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。包是Go语言里 最基本的分发单位,也是...

  • go fmt与gofmt命令

    go fmt命令会按照Go语言代码规范格式化指定代码包中的所有Go语言源码文件的代码,所有Go语言源码文件即包括命...

  • go语言学习01-基础

    运行Go语言代码、分享Go语言代码的平台https://play.golang.org/[https://play...

  • Go语言代码风格

    Go语言代码说明 Go 语言[https://haicoder.net/golang/golang-tutoria...

  • go arm 交叉编译

    一、纯GO语言代码 1. 设置 GOARCH export GOARCH=arm 2. 编译go 代码 go bu...

  • 02.手撕Go语言-基础

    第一个Go程序 解读: a. package Go源文件开头必须使用package声明代码所属包,包是Go代码分发...

  • 01-GoLang开篇

    Go的前世今生我就不赘述了,由于Go与C渊源颇深,所以我们对照C学习。 Go语言文件 源代码文件 C语言源代码保存...

  • 上传多文件及数据安卓端及go语言后台端接收

    1. android端代码 2. Go语言后端代码

  • 初识Go语言

    Go 语言结构 初识Go语言 Go 语言结构 代码说明: ① 定义包名,必须在源文件中非注释的第一行指明这个文件...

  • Go 语言程序设计(5)

    polar2cartesian.go 示例代码: 知识点: Go 语言的并发依赖的并不是线程,而是协程 Go 语言...

网友评论

      本文标题:go语言代码解读

      本文链接:https://www.haomeiwen.com/subject/qaghfktx.html