Go part 1
Go 环境搭建
根据平台环境在官网下载最新版本安装包即可,然后配置环境变量:GOPATH,GOROOT
官网教程:golang.org
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。第一句代码
package main
import (
"fmt"
)
func main(){
fmt.Println("hello, golang~")
}
Go 语言特性
垃圾回收
- 内存自动回收,不需要开发人员进行内存管理
- 专注业务实现,降低心智负担
- 只需要 new 分配内存,不需要释放
天然并发
- 从语言层面上支持并发,非常简单
- goroute 轻量级线程,创建成千上万个 goroute 成为可能
- 基于 CSP(Communicating Sequential Process)模型实现
channel
- 管道,类似于 unix / linux 中的 pipe
- 多个 goroute 之间通过 channel 进行通信
- 支持任何类
func main(){ pipe := make(chan int, 2) pipe <- 1 pipe <- 2 }
多返回值
一个函数多返回值
package main
import (
"fmt"
)
func calc(a int, b int) (int, int) {
sum := a + b
avg := (a + b) / 2
return sum, avg
}
func main(){
sum, avg := calc(100, 200)
fmt.Println("sum", sum, "avg", avg)
}
包的概念
- 和 python 一样,把相同功能的代码放在一个目录,称之为包
- 包可以被其它包引用(包内文件中定义的函数名首字母需大写,否则不能被其它包应用)
- main 包用来生成可执行文件,每个程序只有一个 main 包
- 包的主要作用是提高代码的可复用性
作业
使用 fmt 分别打印字符串,二进制,十进制,十六进制,浮点数
更多精彩

