GO语法学习笔记
前言
GO是一种开源的程序设计语言,它意在使得人们能够方便地构建简单、可靠、高效的软件。 基于多种语言,取其精华,去其糟粕。 包含垃圾回收 特别适用于构建基础设施类软件,以及程序员使用的工具和系统等。 GO程序通常比动态语言运行速度要快
笔记结构
基础章节1-5,主流语言都含有。
第一章记录GO的基础结构
第二章讲述GO程序的组成元素--声明、变量、新类型、包、文件、作用域。
第三章讨论数值、布尔量、字符串、常量,如何处理Unicode.
第四章描述复合类型,数组、map、结构体、slice
第五章概述概述,并讨论错误处理、宕机、恢复以及defer语句
其余章节为独特内容,方法、接口、并发、包、测试、反射。
学习资源
最好的文档:Go官方网站https://golang.org 最好的文章:Go官方博客https://blog.golang.org 最好的训练场:https://play.golang.org 训练场的基础上: https://tour.golang.org Github: https://golang.org/pkg 可使用这些代码来弄明白某些程序的运行原理 回答关于程序细节的问题,也可以用它们来学习专家是如何写出一流的Go代码.
训练场只能导入官方标准库,并且很多库特性都出于可操作性或安全性限制使用(比如网络库).
入门
对Go语言基本组件说明,通过本章提供信息和示例使我们尽可能快地做一些有用的东西.
hello, world
helloworld.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Wolrd")
}
Go 编译型语言. 编译工具将程序的源文件转变成机器相关的原生二进制指令.
$ go run helloworld.go
Hello, World
程序:
Go代码使用包来组织,包类似与其它语言中的库和模块。一个包由一个或多个.go
源文件组成,放在一个文件夹中,文件夹名称描述包的作用。
每个源文件开始都用package
声明,package main
,指明了这个文件属于哪个包。后面跟着 import
导入的其他包列表。
然后是存储在文件中的程序声明。
名为main
的包用来定义一个独立的可执行程序,而不是库。在main
包中的main
函数,是程序开始执行的地方,通常调用其他包中的函数来做更多事情,比如fmt.Println
。
函数:func、函数名、参数列表、返回值列表、大括号内函数体。
精确导入需要的包,缺失或存在不需要的包会报错。
命令行参数
大部分程序处理输入然后产生输出,程序怎样获取数据的输入? 来自 外部源:文件、网络连接、其他程序的输出、键盘、命令行参数。
示例: