【Go】变量,常量,基本数据类型

1. 标识符和关键字

Go语言中的标识符由字母,数字,下划线_ 组成。但是不能以数字开头

Go语言中有25个关键字

1
2
3
4
5
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语言中有37个保留字

1
2
3
4
5
6
7
8
9
10
11
Constants:    true  false  iota  nil

Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error

Functions: make len cap new append copy close delete
complex real imag
panic recover

2. 变量

变量的声明

1
2
3
4
5
6
7
8
9
10
11
12
13
var 变量名 变量类型

举个栗子
var name string
var age int
var isOk bool

或者
var (
a string
c bool
d float32
)

变量的初始化

1
2
3
4
5
6
7
8
9
10
var 变量名 类型 = 表达式

举个栗子
var name string = "mutong" //string 可以省略
var name = "abc"
var age int = 18 //int 可以省略
var age = 20

或者初始化多个变量
var name, age = "Q1mi", 20

也可以直接使用:=方式声明并初始化变量

1
2
n := 10
name := "mutong"

匿名变量

1
2
3
4
5
6
7
8
9
func foo() (int, string) {
return 10, "mutong"
}
func main() {
x, _ := foo()
_, y := foo()
fmt.Println("x=", x)
fmt.Println("y=", y)
}

注意事项:

  • 函数外的每一个语句必须使用关键字开始
  • := 不能使用在函数外面
  • _多用于占位,表示忽略

3. 常量

常量的声明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const pi = 3.14
const e = 2.71

或者
const (
pi = 3.1415
e = 2.7182
)

或者
const (
n1 = 100
n2
n3
)

iato

iota 在const关键字出现的时候,被重置为0,const中每新增一行常量声明将使iota计数+1

1
2
3
4
5
6
7
const (
n1 = iota //n1 = 0
n2 //n2 = 2
_ //n3 = 3
n4 //n4 = 4
)

4. 基本数据类型

整型

整型分为以下两个大类:
有符号整型:int8、int16、int32、int64

无符号整型:uint8、uint16、uint32、uint64

  • uint8就是我们熟知的byte
  • int16对应C语言中的short
  • int32对应C语言中的int
  • int64对应C语言中的long

浮点型

float32 float64

复数

complex64 complex128

布尔值

true false

字符串

Go语言里面的字符串内部使用的都是UTF-8编码。字符串的值就是””里面的值。

方法 含义
len(str) 求长度
strings.Split 分割字符串
strings.contains 判断是否包含
strings.HasPrefix,strings.HasSuffix 前缀 后缀
strings.Index(),strings.LastIndex() 子串出现的位置
strings.Join(a[]string, sep string) join操作

byte类型和rune类型

byte 其实就是int8,

rune类型,代表了一个UTF-8.当有需要处理中文的时候会用到。

类型转换

Go语言没有隐式类型转换,只有强制类型转换。

使用搜索:谷歌必应百度