变量

变量的使用方式

  • 第一种,如果变量申明后,没有赋值,那么他就会使用默认值

    1
    2
    var num int ;
    fmt.Println(num) 默认是0
  • 第二种,变量推导,我们可以不用给变量声明类型,他会自己推到类型

    1
    2
    var num  ="ssss";
    fmt.Println(num)
  • 第三种,使用**:=**,声明变量

    1
    2
    num := "sss"
    fmt.Println(num)

申明多个变量

1
2
3
4
5
6
7
8
9
var num,num1,num2 int=1,2,3 //赋值
fmt.Println(num)
fmt.Println(num2)
fmt.Println(num1)

num, num1, num2 := 3, 1, 2
fmt.Println(num)
fmt.Println(num2)
fmt.Println(num1)

也可以不加上类型,让他自己辨别类型,前面的3种方式可以多个变量声明

全局变量

1
2
3
4
5
var name ="saxon"
var(
age=18
location="yunnan"
)

数据类型

序号 类型和描述
1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。
2 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。
3 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。可以使用 **``**,原样输出
4 派生类型: 包括:(a) 指针类型(Pointer)(b) 数组类型(c) 结构化类型(struct)(d) Channel 类型(e) 函数类型(f) 切片类型(g) 接口类型(interface)(h) Map 类型

字符串的使用太长时,使用的+要再上一行

数字类型

  • go中的string默认是utf-8编码 一个中文字符为3个字节
  • byte是int8的别名 用来处理 ASCII码
  • rune是int32别名 用来处理非utf-8或unicode字符

使用的int使用二进制表示数,第一位是符号位,所以表示的数少一位

Go 也有基于架构的类型,例如:int、uint 和 uintptr。

序号 类型和描述
1 uint8 无符号 8 位整型 (0 到 255)
2 uint16 无符号 16 位整型 (0 到 65535)
3 uint32 无符号 32 位整型 (0 到 4294967295)
4 uint64 无符号 64 位整型 (0 到 18446744073709551615)
5 int8 有符号 8 位整型 (-128 到 127)
6 int16 有符号 16 位整型 (-32768 到 32767)
7 int32 有符号 32 位整型 (-2147483648 到 2147483647)
8 int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮点型

序号 类型和描述
1 float32 IEEE-754 32位浮点型数
2 float64 IEEE-754 64位浮点型数
3 complex64 32 位实数和虚数
4 complex128 64 位实数和虚数

其他数字类型

以下列出了其他更多的数字类型:

序号 类型和描述
1 byte 类似 uint8
2 rune 类似 int32
3 uint 32 或 64 位
4 int 与 uint 一样大小
5 uintptr 无符号整型,用于存放一个指针

查看数据类型:

1
fmt.Printf("%T",a)
1
fmt.Printf("%T %d", age,unsafe.Sizeof(name)) //查看具体的占用内存的大小
1
2
var c byte='a'
fmt.Println(c)

输出的是这个byte变量的ASCII码值;

基本数据的默认值:

类型之间的相互转换:

数值之间使用 变量=类型(变量)

其他变化为字符串:

1
2
num := 33
var str =fmt.Sprintln(num)

关键字

下面列举了 Go 代码中会使用到的 25 个关键字或保留字:

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 语言还有 36 个预定义标识符:

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

程序一般由关键字、常量、变量、运算符、类型和函数组成。

程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。

程序中可能会使用到这些标点符号:.、,、;、: 和 …。