首页  

学习GO要了解的几个特性     所属分类 go 浏览量 726
不支持继承,特殊的接口机制
通过组合来扩展
类型嵌入不支持最基本的继承特性
子类替换
方法重载 override

接口机制
实现接口的类型不依赖于接口定义
接口是方法的集合
任何类型只要拥有与接口对应的全部方法,就表示它实现了该接口


内置GC 垃圾收集器 ,支持指针对内存的直接访问

错误处理机制
方法课返回多个值,可以同时返回结果和错误状态
Go设计者 认为try-catch-finally 导致异常处理与控制流程的耦合,导致程序结构混乱

CSP并发模型
Communicating Sequential Processes
独立的并发实体通过共享的通讯 Channel(管道)进行通信 

GoCSP模式与常见的Actor模式区别(Erlang使用Actor模式)
Actor直接通讯,CSP 通过Channel进行通讯,更松的耦合
Go channel 有容量限制 并且独立于处理GOroutine, Erlang Actor模式中的mailbox容量无限,接收进程总是被动地处理消息


Goroutine的调度机制
协程 轻量级
Java线程模型中线程和KSE(Kernel space Entity) 1:1 系,一个用户线程对应一个KSE
GOroutine和KSE 多对多 
虽然GOroutine的调度机制不如,由内核直接调度的线程机制效率那么高
但是GOroutine间的切换不涉及内核级切换,所以代价小很多

上一篇     下一篇
key忽略大小写的TreeMap

go select 与 定时器

go类型转换和断言

GO 并发递增计数实例

Go并发构建模块

Go语言atomic原子操作