Go|数据类型

Go|数据类型

☘️布尔型

布尔型的值只可以是常量true或false,一个简单的例子:var bool = true。

package main

import "fmt"

func a() {
    //var 变量名 数据类型
    //bool:true false
    //bool 默认值 false
    var isFlag bool = false
    var isFlag2 bool = true
    println(isFlag)
    //打印isFlag的数据类型 %T 代表数据类型
    println(fmt.Sprintf("%T", isFlag), isFlag)
    println(fmt.Sprintf("%T", isFlag2), isFlag2)
}

func main() {
    a()
}

☘️数字型

整型 int 喝浮点型 float32、float64,Go语言支持整形喝浮点型数字。并且支持复数,其中位的运算采用补码。

Go也有基于架构的类型,例如:uint无符号、int 有符号
序号类型和描述
1uint8无符号\8位整型(0 到 255)
2uint16无符号\16位整型(0 到 65535)
3uint32无符号\32位整型(0 到 4294967295)
4uint64无符号\64位整型(0 到 18446744073709551615)
5int8有符号\8位整型(-128 到 127)
6int16有符号\16位整型(-32768 到 32767)
7int32有符号\32位整型(-2147483648 到 2147483647)
8int64有符号\64位整型(-9223372036854775808 到 9223372036854775807)
浮点型
package main

import "fmt"

func main() {
    //定义一个整数
    var age int = 10
    println(fmt.Sprintf("age的数据类型是:%T,age的值是:", age), age)
    //定义一个浮点数
    //默认是6位小数
    var money float64 = 69169.6871
    fmt.Printf("money的数据类型是:%T, money的值是:%.2f\n", money, money)

    var num1 float32 = 3.1415926
    var num2 float64 = 3.1415926
    fmt.Println("num1的值是:", num1, "num2的值是:", num2)
}

/* 运行结果
age的数据类型是:int,age的值是: 10
money的数据类型是:float64, money的值是:69169.69
num1的值是: 3.1415925 num2的值是: 3.1415926
 */
更多数字类型
序号类型和描述
1byte类似uint8
2rune类似int32
3uint32或64位
4int 与 uint一样大小
5uintptr 无符号整型,用于存放一个指针

☘️字符串型

字符串就是一串固定长度的字符连接起来的字符序列。

Go的字符串是由单个字节连接起来的,Go语言的字符串使用UTF-8 编码标识Unicode 文本。

package main

import "fmt"

func main() {
    var name string
    name = "斯嘉"
    println(fmt.Sprintf("%T", name), name)

    //单引号 字符,对应的类型是整型 -》 字符码表
    a1 := 'A'
    a2 := "A"
    a3 := 'a'
    a4 := "a"

    //编码表 ASCII  字符码表
    //所有的中国的编码表 GBK GB2312 GB18030
    //unicode 万国码  UTF-8

    println(fmt.Sprintf("%T", a1), a1)
    println(fmt.Sprintf("%T", a2), a2)
    println(fmt.Sprintf("%T", a3), a3)
    println(fmt.Sprintf("%T", a4), a4)

    // 字符串的拼接  +
    println("作者:" + name + ",年龄:18岁")

    // 转义字符
    println("作者:" + name + ",\n年龄:18岁")
    println("作者:" + name + ",\t年龄:18岁")
    println("作者:" + name + ",\b年龄:18岁")
    println("作者:" + name + ",\r年龄:18岁")
    println("作者:" + name + ",\"年龄:18岁")
    println("作者:" + name + ",\\年龄:18岁")
}

/* 输出结果:
string 斯嘉
int32 65
string A
int32 97
string a
作者:斯嘉,年龄:18岁
作者:斯嘉,
年龄:18岁
作者:斯嘉,    年龄:18岁
作者:斯嘉,年龄:18岁
年龄:18岁,
作者:斯嘉,"年龄:18岁
作者:斯嘉,\年龄:18岁
 */
无标签
评论区
头像
文章目录