从零开始学Go

课程大纲

随着摩尔定律的生命周期即将结束,对并发的需求正在上升,因此,对能够有效实现并发程序的编程语言的需求也在上升。出于这个原因,Go 已成为…中最受欢迎的语言之一。

课程内容

1. 基础

变量和推断类型

常数

印刷

包和导入

代码位置

导出的名称

函数和返回值

指针

可变性

Go 变量测验

2.类型

基本类型

类型转换

类型断言

结构

初始化

组合与继承

类型测验

作文练习

3. 集合类型

使用数组​

Go 中的切片

for 循环中的范围

Go 中的地图

集合类型测验

在地图上练习

4.控制流程

IF 声明

FOR 循环

切换案例语句

练习 For 循环

控制流测验

控制流练习

5. 方法

介绍

代码组织

类型别名

方法接收器

Go 方法测验

6. 接口

介绍

令人满意的接口

返回错误

Go 接口测验

练习错误

7.并发

并发编程

协程

频道

通过插图的渠道

缓冲通道与无缓冲通道作为插图

范围和关闭

选择

并发测验

已解决的练习:分步指南

8. 获取设置

操作系统

视窗

Linux

附加功能

9. 在线编码挑战

编码挑战

10. 提示和技巧

弄湿你的脚

导入包的提示

地图和错误提示

编译器优化技巧

Go 中的常量提示

变量和推断类型

本课讨论变量声明、初始化和推断类型的基础知识。

我们将介绍以下内容

Go 通常被称为“简单”的编程语言,如果您熟悉任何基本的编程语言,则可以在几个小时内学会这种语言。Go 的设计旨在让您感觉熟悉并尽可能简单, 整个语言规范只需几页。

在编写我们的第一个应用程序之前,我们将探索一些概念。

变量声明#

var语句声明了一个变量列表。变量名在前,变量类型在其后声明。

此代码需要以下环境变量才能执行:

GOPATH    /go
var (
	name     string
	age      int
	location string
)

乃至

var (
	name, location  string
	age             int
)

变量也可以一一声明:

var name     string
var age      int
var location string

变量初始化#

var声明可以包含初始化器,每个变量一个。

var (
	name     string = "Prince Oberyn"
	age      int    =  32
	location string = "Dorne"
)

如果存在初始化器,则可以省略类型,变量将采用初始化器的类型(推断类型)。

var (
	name     = "Prince Oberyn"
	age      =  32
	location = "Dorne"
)

您也可以一次初始化多个变量。

var (
	name, location, age = "Prince Oberyn", "Dorne", 32
)

在函数内部,:= 可以使用简短的赋值语句代替var具有隐式类型的声明。

package main
import "fmt"

func main() {
	name, location := "Prince Oberyn", "Dorne"
	age := 32
	fmt.Printf("%s age %d from %s ", name, age, location)
}

变量可以包含任何类型,包括函数:

func main() {
	action := func() { //action is a variable that contains a function
		//doing something
	}
	action()
}

在函数之外,每个构造都以关键字 ( 等) 开头var, func并且:=构造不可用。

使用Go 的声明语法来阅读有关 Go 语法的更多信息。

下一章我们看看常量是如何声明的。

甚至