go语言——数据类型
变量
注意事项
- 变量必须先声明
- go语言是静态语言,要求变量声明类型和赋值类型必须一致
- 变量名在同一作用域不能冲突
- 简短定义方式不能定义全局变量
- 变量定义之后,必须使用,否则无法通过编译
- 简短定义左边变量必须有新的
声明变量
第一种,指明变量类型
var name type
name = value
//写在一行
var name int = 30
第二种,自行判断变量类型
var name = value
第三种,简短声明
name := 20
第四种,集合类型
//只声明
var (
name1 type1
name2 type2
)
//同时赋值
var (
name1 = 30
name2 = "dsafgsa"
)
常量
注意事项
- 常量声明之后不适用,可以编译
- 常量如果不初始化,类型和值与上一行一致
- 类型只能为正数、小数、字符串
常量声明
常量是一个在程序运行时,不会被修改的量
const HELLO string = "hello world"
const PI = 3.14
const (
a = 1
b = 2
c = 3
)
iota
iota是一个特殊的常量,可以认为是一个可以被编译器修改的常量
每当定义一个const,iota的初始值为0,每当定义一个常量,iota的值自动加一,直到下一个const出现,清零
iota可以用作枚举
package main
import "fmt"
func main() {
const (
a = iota //iota = 0
b //1
c //2
d = "hah" // iota = 3
e //hah iota=4
f = 100 //iota=5
g //100 iota=100
)
fmt.Println(a,b,c,d,e,f,g)
}
输出值
0 1 2 hah hah 100 100
数据类型
整形
int
int8
int16
int32
int64
uint8
uint16
uint32
uint64
byte //uint8
rune //int32
int //根据系统位数确认是int32,int64
浮点型
float32
float64
//%f默认为小数点后6位
字符串
概念:多个byte的集合
单引号和双引号的区别
-
''
默认类型为int32,用于单个字符 -
""
类型为string,用于字符串