Go的类型系统
2018-06-26 本文已影响6人
caoxinyiyi
1、什么是类型系统
- 类型系统是 一个语言的类型体系结构。
- 类型系统才是一门编程语言的地基,它的地位至关重要。
- Go语言的面向对象编程特性从类型系统入手。
2、类型系统包含的内容
- 基本类型,如byte、int、bool、float等
- 复合类型,如数组、结构体、指针等
- 可以 向任意对象的类型(Any类型)
- 值语义和引用语义
- 面向对象, 所有具 面向对象特征(比如成员方法)的类型
- 接口
类型系统描述的是这些内容在一个语言中如何被关联。
3、值类型&引用类型
Go语言中的大多数类型都基于值语义。
- 值类型
- 基本类型,如byte、int、bool、float32、float64和string等
- 复合类型,如数组(array)、结构体(struct)和 (pointer)等
- 引用类型
- 数组切 : 指向数组(array)的一个区间
- map:极其常见的数据结构,提供键值查询能力
- channel:执行体(goroutine)间的通信设施
- 接口(interface):对一组满足某个契约的类型的抽象
4、Go语言传值区别
- 在于对象大小,如果对象很小,那么直接传值比较好,否则传指针
- 如果想修改传递对象的值,则传指针,否则传值