Skip to content

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、函数名、参数列表、返回值列表、大括号内函数体。

精确导入需要的包,缺失或存在不需要的包会报错。

命令行参数

大部分程序处理输入然后产生输出,程序怎样获取数据的输入? 来自 外部源:文件、网络连接、其他程序的输出、键盘、命令行参数。

示例: