美文网首页
【go语言学习】数据类型

【go语言学习】数据类型

作者: Every_dawn | 来源:发表于2020-09-18 21:28 被阅读0次

Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。

一、基本数据类型

1、整型

整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64

其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。

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

特殊的整型

类型 描述
int 32位操作系统上就是int32,64位操作系统上就是int64
uint 32位操作系统上就是uint32,64位操作系统上就是uint64
2、浮点型
  • float32 的浮点数的最大范围约为 3.4e38,可以使用常量定义:math.MaxFloat32
  • float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:math.MaxFloat64
3、布尔型bool

bool布尔型数据只有true(真)和false(假)两个值。
注意:

  • 布尔类型变量的默认值为false
  • Go 语言中不允许将整型强制转换为布尔型
  • 布尔型无法参与数值运算,也无法与其他类型进行转换
4、字符串类型string

Go语言中的字符串以原生数据类型出现,使用utf-8编码
字符串的定义可以使用双引号"",也可以用反引号``

s1 := "hello world"
s2 := `hello
world`

字符串转义符

转义符 含义
\r 回车符(返回行首)
\n 换行符(直接跳到下一行的同列位置)
\t 制表符
\' 单引号
\" 双引号
\\ 反斜杠

单引号'和双引号"

var a = '中'
var b = "中"
fmt.Printf("%T, %v, %c\n", a, a, a)    \\int32, 20013, 中
fmt.Printf("%T, %v\n", b, b)           \\string, 中
5、byte和rune类型

Go 语言的字符有以下两种:

  • uint8类型,或者叫 byte 型,代表了ASCII码的一个字符。
  • rune类型,代表一个 UTF-8字符。
    当需要处理中文、日文或者其他复合字符时,则需要用到rune类型。rune类型实际是一个int32。
// 遍历字符串
s := "hello世界"
for i := 0; i < len(s); i++ {
    fmt.Printf("%v[%c] ", s[i], s[i])
}
for _, v := range s {
    fmt.Printf("%v[%c]", v, v)
}

输出:

104[h] 101[e] 108[l] 108[l] 111[o] 228[ä] 184[¸] 150[] 231[ç] 149[] 140[]
104[h]101[e]108[l]108[l]111[o]19990[世]30028[界]
6、类型转换Type Convert

语法格式:Type(Value)
常数:在有需要的时候,会自动转型
变量:需要手动转型T(V)

注意点:兼容类型才可以转换

二、复合类型

1、指针类型(pointer)
2、数组类型(array)
3、结构体类型(strutct)
4、函数类型(function)
5、切片类型(slice)
6、接口类型(interface)
7、Map类型(map)
8、管道类型(channel)

相关文章

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • 02-Go语言常量和变量

    Go语言的数据类型 C语言的数据类型 Go语言的数据类型 Go语言各数据类型占用内存空间 Go语言中也可以使用si...

  • 04-Go语言常量和变量

    Go数据类型 C语言的数据类型image GO语言数据类型image GO数据类型占用的内存空间image 注意点...

  • 05-Go语言常量和变量-指趣学院

    Go语言数据类型 Go语言本质是用C语言编写的一套高级开发语言, 所以Go语言中的数据类型大部分都是由C语言演变而...

  • go 语言第一节课(2)

    go 语言数据类型

  • Go语言第3天 - 常用数据类型

    以下内容部分参考自Go语言基础数据类型Go语言中的数组切片:特立独行的可变数组Go语言数据类型-数组Go标准容器之...

  • Go语言常量和输入输出

    常量 Go语言常量和C语言差不多Go语言定义常量const不能少,数据类型可以不写Go语言定义常量不能用:=Go语...

  • 第三章:Go语言基础数据类型

    1. Go语言数据类型 1.1 数据类型分类 Go语言数据类型大致可以分为两类基础类型,其中就包括了我们最常见的一...

  • Go语言的常量与变量

    数据类型 go语言支持常见的数据类型。 数字:go语言支持整型int和浮点型float32/float64。位运算...

  • Golang学习笔记-1.4 数据类型

    本文系第四篇Golang语言学习教程在Go语言中,数据类型用于声明函数和变量。Go语言按类别有以下几种数据分类 b...

网友评论

      本文标题:【go语言学习】数据类型

      本文链接:https://www.haomeiwen.com/subject/qjqsyktx.html