美文网首页
go 数据类型

go 数据类型

作者: Stevenzwzhai | 来源:发表于2020-03-04 14:34 被阅读0次

基本数据类型
符合类型:array slice map function pointer struct interface channel
布尔型:bool true/false fmt.Printf("%T, %t", )
数值: int、float32、float64 complex(复数)
字符串 string
派生类型
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g) 接口类型(interface)
(h) Map 类型

数组和切片的区分,主要在于是否确定长度
var variable_name [SIZE] variable_type
传递参数 func getArr(param [10] int)
切片 var identifier []type 不需要定义长度
slice1 := make([]type, len) 使用make关键字
s :=[] int {1,2,3 }
数组转切片 var balance [10] float32
var balance1 [5]int{1, 2, 3, 4, 5}
定义确定长度两种方式,一种是定义的时候直接设置长度,另一种是定义并初始化时确定长度
var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
var b = balance[1:3]

整形、浮点型默认0
字符串: ""

iota
特殊的常量
ota 可以被用作枚举值:

const (
    a = iota
    b = iota
    c = iota
)

第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2
注意点:

  1. 如果中断iota自增,则必须显式恢复。且后续自增值按行序递增
  2. 自增默认是int类型,可以自行进行显示指定类型
  3. 数字常量不会分配存储空间,无须像变量那样通过内存寻址来取值,因此无法获取地址

结构体类型

数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型,结构体有普通结构体和指针结构体。
普通结构体的定义和初始化

type struct_variable_type struct {
   member definition;
   member definition;
   ...
   member definition;
}

一旦定义了结构体类型,它就能用于变量的声明

variable_name := structure_variable_type {value1, value2...valuen}

初始化结构体

// 1.按照顺序提供初始化值
P := person{"Tom", 25}
// 2.通过field:value的方式初始化,这样可以任意顺序
P := person{age:24, name:"Tom"}
// 3.new方式,未设置初始值的,会赋予类型的默认初始值
p := new(person)
p.age=24

结构体指针

var struct_pointer *Books

以上定义的指针变量可以存储结构体变量的地址。查看结构体变量地址,可以将 & 符号放置于结构体变量前

struct_pointer = &Book1;

使用结构体指针访问结构体成员,使用 "." 操作符

相关文章

  • 04-Go语言常量和变量

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

  • 02-Go语言常量和变量

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

  • 三、数据类型和操作

    一、数据类型 Go支持的数据类型特别丰富,你可以在Go SDK/src/builtin/builtin.go 这个...

  • go 语言第一节课(2)

    go 语言数据类型

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

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

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

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

  • 初识Go语言-1

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

  • Go之旅-变量

    Go语言变量有固定的数据类型,决定了变量内存的长度和存储格式。Go变量只能修改变量值,不能改变变量的数据类型。Go...

  • Go语言的常量与变量

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

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

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

网友评论

      本文标题:go 数据类型

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