### 3 命名
#### 3、1 Go语言关键字
> **Go 语言有25个关键字:**
>
> ```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
> ```
>
> - var 和 const :变量和常量的声明
> - package 和 import : 导入
> - func: 用于定义函数和方法
> - return :用于从函数返回
> - defer :在函数退出之前执行
> - go : 用于并行
> - select :用于选择不同类型的通讯
> - interface :用于定义接口
> - struct:用于定义抽象数据类型
> - break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制
> - chan:用于channel通讯
> - type:用于声明自定义类型
> - map:用于声明map类型数据
> - range:用于读取slice、map、channel数据
>
> **Go 语言有36个预定义**:
>
> **预定义**
> 在Go中有很多预定义的名字,基本在内建的常量、类型和函数当中。
>
> 这些内部预定义的名字并不是关键字,它们是可以重新定义定义的
>
> ```go
> append bool byte cap close complex
> complex64 complex128 uintptr copy false true
> float32 float64 imag iota int uint
> int8 uint8 int16 uint16 int32 uint32
> int64 uint64 new len make panic
> nil print println real recover string
> ```
#### 3、2 Go语言命名规则
> **命名规则**
>
> + 允许使用字母、数字、下划线
> + 不允许使用Go语言关键字
> + 不允许使用数字开头
> + 区分大小写
> + 见名知义
>
> **驼峰命名法**
>
> + 小驼峰式命名法(lower camel case):
>
> 第一个单词以小写字母开始,第二个单词的首字母大写,例如:myName、aDog
>
> + 大驼峰式命名法(upper camel case):
>
> 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
### 4 标准输入输出
#### 4、1 标准输入
> 前面所写的所有的程序,都是直接给变量赋值,但是很多情况下,我们希望用户通过键盘输入一个数值,存储到某个变量中,然后将该变量的值取出来,进行操作。
>
> 我们日常生活中也经常用到输入的场景:
>
> + 在银行ATM机器前取钱时,肯定需要输入密码 。
> + 在取钱时要输入金额。
>
> 在Go语言中提供三种标准输入函数:
>
> ```go
> //扫描,必须所有参数都被填充后换行才结束扫描
> fmt.Scan()
> //扫描,但是遇到换行就结束扫描
> fmt.Scanln()
> //格式化扫描,换行就结束
> fmt.Scanf()
> ```
>
> 在Go中用到了 “fmt” 这个包中的Scan()函数来接收用户键盘输入的数据。当程序执行到Scan()函数后,会停止往下执行,等待用户的输入,输入完成后程序继续往下执行。
>
> ```go
> package main
> import "fmt"
>
> func main() {
> x, y := 0, 0
> //提供标准输入设备获取内容并赋值给变量x,y
> fmt.Scan(&x,&y)
>
> fmt.Println(x)
> fmt.Println(y)
> }
> ```
>
> **注意** 这里x y变量前面一定要加上“&”符号,表示获取内存单元的地址,然后才能够存储。
#### 4、2 标准输出
> 在Go语言中进行输出,用到前面所讲解的函数:Println()。
>
> 常用的标准输出函数有以下三种,都会将数据输出到标准设备,如屏幕。
>
> ```go
> //输出任意类型数据,并换行
> fmt.Println()
> //输出任意类型数据,不换行
> fmt.Print()
> //格式化输出数据,不换行
> fmt.Printf()
> ```
>
> ```go
> package main
> import "fmt"
>
> func main() {
> fmt.Println("fmt.Println()输出的数据,输出结果换行")
> fmt.Print("fmt.Print()输出的数据,输出结果不换行")
> fmt.Printf("fmt.Printf()输出的数据,格式化输出不换行 占位符:%s","法师")
> }
> ```
>
> 结果:
>
> ```go
> fmt.Println()输出的数据,输出结果换行
> fmt.Print()输出的数据,输出结果不换行fmt.Printf()输出的数据,格式化输出不换行 占位符:法师
> ```
有疑问加站长微信联系(非本文作者))