0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#【愚公系列】2022年08月 Go教学课程 010-数据类型之布尔型和字符类型

一、数据类型概要

go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。

类型 名称 长度 零值 说明
bool 布尔类型 1 false 其值不为真即为假,不可以用数字代表true或false
byte 字节型 1 0 uint8别名
rune 字符类型 4 0 专用于存储unicode编码,等价于uint32
int, uint 整型 4或8 0 有符号32位或无符号64位
int8 整型 1 0 -128~ 127,
uint8 整型 1 0 0~ 255
int16 整型 2 0 -32768 ~ 32767,
uint16 整型 2 0 0 ~ 65535
int32 整型 4 0 -2147483648到2147483647
uint32 整型 4 0 0到4294967295(42亿)
int64 整型 8 0 -9223372036854775808到9223372036854775807
uint64 整型 8 0 0到18446744073709551615 ( 1844京)
float32 浮点型 4 0.0 小数位精确到7位
float64 浮点型 8 0.0 小数位精确到15位
complex64 复数类型 8
complex128 复数类型 16 64位实数和虚数
uintptr 整型 4或8 足以存储指针的uint32或uint64整数
strina 字符串 "” utf-8字符串

二、布尔型

在 Go 语言中,以关键字 bool 来声明布尔类型。布尔类型只有 true 和 false 两种值。

package main

import "fmt"

func main() {
    var a bool
    a = true
    fmt.Println(a)
    fmt.Printf("%t", a)
}

在这里插入图片描述

三、字符类型

Go 语言中,字符串的每一个元素叫做字符,主要分为以下两种:

  • uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。
  • rune 类型,代表了一个 UTF-8 字符。通常情况下,当需要处理中文、日文、韩文等复合字符时,需要用到 rune 类型。
package main

import "fmt"

func main()  {
    var a byte = 'q'
    fmt.Printf("%d %T\n", a, a) // byte 的实际类型其实是个 uint8, 对应的 ASCII 编码为 113

    var b rune = '犬'
    fmt.Printf("%d %T\n", b, b) // rune 的实际类型其实是 int32, 对应的 Unicode 编码为 29356
}

在这里插入图片描述

举报

相关推荐

0 条评论