1 基础知识
go语言有以下特点:
编译型语言,编译速度快
静态类型语言,拥有动态类型语言特点
类c语法,简单易学
支持gc
语言层面支持并发
跨平台编译
2 著名的go项目:
docker:开源的应用容器引擎
kubernetes:一个开源的,用于管理云平台中多个主机上的容器化的应用
etcd:用于可靠地存储集群的配置数据的一种持久性,轻量型的,分布式的键-值数据存储系统
gogs:一款极易搭建的自助git服务
beego:一个快速开发go应用的http框架
hellow world:
3 简单的go demo:
4 变量
声明的变量必须使用(导入的包也必须使用)
多个变量赋值
声明变量
5 函数
支持多值返回,具名返回
使用丢弃返回值
以大写字母开头包级别的函数供外部访问
6 结构体
不支持重载
通过组合实现继承
没有构造函数
可以匿名组合和具名组合
使用new创建一个结构体指针
大写字母开头的变量可以访问
7 字典、数组和切片
字典
数组
切片
8 接口
接口只声明,不实现
实现多态
duck-typing:如果一个对象走路像鸭子,游泳也像鸭子,叫声也像鸭子,那么该对象就可以被称作为鸭子
9 包管理
go get: go get github.com/mattn/go-sqlite3
大写字母开头的变量或者函数对外可见
标准库结构
demo pkg
10 协程
一个简单的协程:
使用通道进行协程间通信:
通道支持select
通道有类型
通道大小
go确保任意时刻只有一个协程可以访问数据
next
python多进程之multiprocessing
python小技巧分享
领取专属 10元无门槛券
私享最新 技术干货