Go语言第二天

2,355 阅读1分钟

学习一门新语言时,会有一种自然的倾向,按照自己熟悉的语言的套路写新语言程序。学习Go语言的过程中,请警惕这种想法,尽量别这么做。我们会演示怎么写好Go语言程序,所以,请使用本书的代码作为你自己写程序时的指南

教材

 Go 语言圣经  go vs java

语言语法

Go语言主要有四种类型的声明语句: var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。

语法 var 变量名字 类型(可省略,推导) = 表达式

数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。

零值初始化机制

零值初始化机制可以确保每个声明的变量总是有一个良好定义的值,因此在Go语言中不存在未初始化的变量。

&取地址操作

var x, y int
fmt.Println(&x == &x, &x == &y, &x == nil) // "true false false"

fun 方法明(参数名称) 返回值1,返回值2 { }

一组变量也可以通过调用一个函数,由函数返回的多个返回值初始化:

var f, err = os.Open(name) // os.Open returns a file and an error

例如,如果将指向短生命周期对象的指针保存到具有长生命周期的对象中,特别是保存到全局变量时,会阻止对短生命周期对象的垃圾回收(从而可能影响程序的性能)。