一.文件名&关键字&标识符
-
所有go源码以.go结尾
-
标识符以字母或下划线开头,大小写敏感,比如:
a. boy b. Boyc. a+bd. 0boy
e. _boyf. =_bg. _ -
_是特殊标识符,用来忽略结果
-
保留关键字
二.常量
-
常量使用const 修饰,代表永远是只读的,不能修改。
-
const 只能修饰boolean,number(int相关类型、浮点类型、complex)和string。
-
语法:const identifier [type] = value,其中type可以省
-
比较优雅的写法:
const (
a = 0
b = 1
c = 2
) -
更加专业的写法:
const (
a = iota
b //1
c //2
)
iota:默认第一个等于0然后后面的依次加加一,详细用法请见:https://studygolang.com/articles/2192
三.值类型和引用类型
1.值类型:变量直接存储值,内存通常在栈中分配。
基本数据类型int、float、bool、string以及数组和struct。
2. 引用类型:变量存储的是一个地址,这个地址存储最终的值。内存通常在
堆上分配。通过GC回收。
指针、slice、map、chan等都是引用类
四. 变量的作用域&数据类型
- 在函数内部声明的变量叫做局部变量,生命周期仅限于函数
- 在函数外部声明的变量叫做全局变量,生命周期作用于整个包,如果是大写的,则作用于整个程
- bool类型,只能存true和false,相关操作符, !、&&、||
- 数字类型,主要有int、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float32、float
- 类型转换,type(variable),比如:
var a int=8; var b int32=int32(a)
- 字符串表示两种方式: 1)双引号 2)`` (反引号)
- 字符类型:
var a byte
字符串类型:var str string