一:命名规范
Go语言中函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个命名规则:
- 一个名称必须以一个字母或下划线开头
- 后面可以跟任意的字母、数字或下划线
- 名称区分大小写(即heapSort与heapsort是两个不同的名字)
Go语言关键字:
break | default | func | interface | select | case | defer |
---|---|---|---|---|---|---|
go | map | struct | chan | else | goto | package |
switch | const | fallthrough | if | range | type | continue |
for | import | return | var |
Go语言风格
- 命名尽量以短小名字
- Go使用驼峰式命名
- 使用大小写分隔而不优先下划线
- 使用大驼峰如:QuoteRune
二:声明
声明语句定义了程序的各种实体对象以及部分互殴全部的属性。
语句 | 含义 |
---|---|
var | 变量 |
const | 常量 |
type | 类型 |
func | 函数 |
Go文件解释:一个Go语言编写的程序对应一个或多个以.go为文件后缀的源文件中:
- 每个源文件以包的声明语句开始;说明该源文件是属于哪个包
- 之后是import语句导入依赖的其他包
- 然后是包一级的类型、变量、常量、函数的声明
package main
import "fmt"
const boilingF = 212.0
func main() {
var f = boilingF
var c = (f - 32) * 5 / 9
fmt.Printf("boiling point = %gF or %gC\n", f, c)
}
变量声明重点
- 在包一级声明语句中声明的名字可在整个包对应的每个源文件中访问
- 局部声明的名字就只能在函数内部很小的范围倍访问
三:变量
var声明语句可以创建一个特定类型的变量,同时给变量附加一个名字,并且设置变量的初始值。
var 变量名 类型 = 表达式
重点:“类型”与“= 表达式”两个部分可以省略其中一个
- 省略类型,则根据初始化表达式来推导变量的类型信息
- 省略表达式,则使用零值初始化该变量
类型 | 对应类型 |
---|---|
数值 | 0 |
布尔 | false |
字符串 | ""(空字符串) |
接口 | nil |
引用 | nil |
聚合 | 每个元素或字段对应类型的零值 |
简短变量声明
在函数内部,有一种简短变量声明语句的形式可用于声明和初始化局部变量;变量的类型根据表达式自动推导
名字 := 表达式
重点
简短变量声明左边的变量可能并不是刚刚声明的;如果之前已经声明过,那么简短变量声明语句对这些已经声明过的变量则只有赋值行为;
- ":="是一个变量声明语句
- "="是一个变量赋值操作
例一:
- 简短变量声明语句中至少要声明一个新的变量
- 以下代码中第二条语句中的err则是赋值操作
in, err := os.Open(infile)
out, err := os.Open(outfiel)
网友评论