前言:
Go语言的设计初衷
- 针对其他语言的痛点进行设计
- 并加入并发编程
- 为大数据、微服务、并发而生的通用编程语言
Go语言很特别
- 没有“对象”,没有继承多态、类等,没有泛型,没有try/catch
- 有接口,函数式编程,CSP并发模型(goroutine+channel)
- 自带gc
- 静态编译,编译好后,扔服务器直接运行
- 学习Go语言很简单,因为语法简单
- 用好Go语言不容易,因为要调整三观
Go语言的主要特征
- 1.自动立即回收
- 2.更丰富的内置类型
- 3.函数多返回值
- 4.错误处理
- 5.匿名函数和闭包
- 6.类型和接口
- 7.并发编程
- 8.反射
- 9.语言交互性
GO概览
- 基本语法:变量,选择、循环,指针,数组,容器
- 面向接口:接口体,duck typing的概念,组合的思想
- 函数式编程:闭包的概念
- 工程化:资源管理、错误管理、测试和文档、性能调优
- 并发编程:理解调度器
Go基础
Go语言声明
- var(声明变量)
- const(声明常量)
- type(声明类型)
- func(声明函数)
1)声明在函数内部,是函数的本地值,类似private
2)声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect
3)声明在函数外部且首字母大写是所有包可见的全局值,类似public