带着目的学习新东西是一件快乐的事情。

2012.3.28 go 1.0 BSD

Go语言的主要特性

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言 交互性

GDB调试

顺序编程

符合类型
指针 pointer
数组 array
切片 slice
字典 map
通道 chan
结构体 struct
接口 interface

流程控制

  • 选择
  • 循环
  • 跳转

类型系统

  • 基础类型,如 int float bool byte
  • 符合类型,如数组,结构体,指针
  • 可以指向任意对象的类型(Any 类型)
  • 值语义和引用语义
  • 面向对象,即所有具备面向对象特征的类型
  • 接口

在Go语言中没有隐藏的this指针

  • 方法施加的目标(也就是“对象”)显示传递,没有被隐藏起来;
  • 方法施加的目标(也就是“对象”)不需要非的是指针,也不用非得叫this。

接口查询
满足接口定义的全部行为。

查询接口
查询具体类型

类型查询

接口组合

并发编程

主流并发编程模型

  • 多进程
  • 多线程
  • 基于会掉的非阻塞/异步IO
  • 协程 coroutine

goroutine

不要通过共享内存来通信,而应该通过通信来共享内存。

channel
一种类型安全的管道

多核并行化

同步锁

网络编程

Socket编程