基础语法
- 数据类型
- 布尔型
- 数字类型
- 字符串类型
- 派生类型
- byte与rune
- 引用类型与值类型
- 变量声明
- 变量声明一般使用var 关键字
- 类型推断
- := 声明初始化操作符
- 声明多个变量
数据类型
-
布尔型
布尔型的值只可以是常量 true 或者 false
-
数字类型
- 整形:int、uint,其中又可细分为uint8、int8、uint16、int16、uint32、int32、uint64、int64;我们都知道我们现在的电脑基本是32位或者64位的,但是某些微型电脑(比如:单片机)还是16位、8位,主要是为了适配不同的运行设备。
- 浮点型:float32、float64,float32的精度不如float64,我们知道在电脑中1个字节占8位,32位则占4个字节,float64则占8个字节。
-
字符串类型
- 字符类型string 是Go语言的基本类型,这儿不同的是在C++中字符类型需要导入字符操作的相关包才可以。字符类型用双引号包含。注意不可以用单引号
-
派生类型
- 数组类型
- 函数类型
- 指针类型
- 切片类型
- map类型
- 指针类型
- Channel 类型
-
byte与rune
- 在GO语言中没有char字符类型,但是可以用单引号创建变量,但是实际上是对byte类型进行操作,byte表示单个ASCII码字符。
- rune表示单个utf8字符。
-
引用类型与值类型
- 布尔、整型、浮点、数组、字符串、byte、rune都属于值类型,即存储在栈里,直接赋值发生的是值传递。
- 函数、指针、切片、map为引用类型,即存储在堆里,直接赋值发生的是地址传递。
变量声明
变量声明一般使用var 关键字
var 变量名 变量类型
声明举列
var a int = 100 //值为100的整型变量a
var b bool = true; //值为真的布尔变量 b
var c string = "hello word" //值为hello word的字符串c
var arr [5]int //声明了长度为5的整型数组
类型推断
var 变量名 = 值 //系统会自动进行类型推断识别变量类型的
var a = 100 //值为100的整型变量a
var b = true; //值为真的布尔变量 b
var c = "hello word" //值为hello word的字符串c
var arr = [5]int{10,11,12,13,14} //长度为5的整型数组
:= 声明初始化操作符
需要注意的是 :=操作符只能用于声明局部变量,不能用于声明全局变量,也就是只能用于函数内部使用,不能用户全局。
a := 100 //声明并初始化 a
b :=true
c := "hello word"
d := [5]int{10,11,12,13,14}
使用此操作声明变量必须有新的变量被声明,否则会报错
var a = 100
a :=100 //此处a是已经存在的变量,不是新声明的变量,编译器会报错
声明多个变量
使用var 关键字
var a,b,c int //声明a,b,c 为int型变量
var a,b,c int = 100,200,300 //声明并赋值 a = 100,b=200,c=300
使用类型推断
var a,b,c = 100,"hello",true
//a :int型 值为100
//b:string 类型 值为 hello word
//c:bool 类型 值为 true
使用 := 操作符
a,b,c = 100,"hello",true