Go学习笔记 - 如何学习GO
如何学习 Go
Go 语言的设计初衷
- 针对其他语言的痛点进行设计
- 加入并发编程
- 为大数据,微服务,并发而生的通用编程语言
Go 语言很特别
- 没有”对象”,没有继承多态,没有泛型,没有 try/catch
- 有接口,函数式编程, CSP 并发模型( goroutine + channel )
- 学习 go 语言简单,应为语法简单
通过示例学习 Go
- 语法部分:每个小片段解决实际问题
- 综合部分:经典算法+典型例题+微型项目
- 实战项目部分:搭建分布式爬虫,结构复杂
学习概览
- 基本语法
. 变量
. 选择,循环
. 指针,数组,容器 - 面向接口
. 结构体
. duck typing的概念
. 组合的思想 - 函数式编程
. 闭包的概念
. 多样的例题 - 工程化
. 资源管理,错误处理
. 测试和文档
. 性能调优 - 并发编程
. goroutine 和 channel
. 理解调度器
. 多样的例题
项目实现
Go语言的安装
- 下载: studygolang.com/dl (国内镜像)
下载注意事项:- Go 官方网址为 golang.org 访问较为困难所以使用国内镜像
- 安装包下载是注意选择 go1.13 或者以上版本, 1.13对镜像功能进行了完善
- 国内镜像配置
安装完成后可以使用go version
查看 go 是否安装成功(请使用1.13或以上版本)
通过go env
查看镜像配置
- GOPROXY 是拉取依赖或者第三方库所访问的网址,如果可以提供则直接从网址中拉取,如果无法提供就 direct 从github库中拉取,图中网址为谷歌网址,建议替换为国内镜像库.
替换镜像命令: 终端执行go env -w GOPROXY=https://goproxy.cn,direct
- GOMODULE(图中为GO111MODULE) 的值为
on/off
,当前默认为空.
空的意思是当前目录在 GOPATH下为 on ,如果不在GOPATH下为 off
建议将其默认值打开,有时候 on 有时候 off 非常容易踩坑
打开 GOMODUL 命令:go env -w GO111MODULE=on
- 安装 goimports
go get -v golang.org/x/tools/cmd/goimports
(安装成功)
Go 开发环境
常用开发环境: vi,emacs,idea,eclipse,vscode,sublime… + go插件 或者直接使用 Goland 进行开发
idea + go 插件的使用
- 安装 idea(Ultimate)
- 安裝 go 插件
选择右下角 configure -> plugins 搜索 go 进行安装
搜索 file watcher 进行安装 (每次保存运行代码可以按照go语言标准进行格式化) - 创建项目
选择 Go Modules(vgo) 注意 Proxy 中的路径是否正确,如果是direct 记得替换成之前设置的https://goproxy.cn,direct
设置goimports
打开设置 搜索 file watcher 点击新增 选择 goimports 点击确定
goimpront 可以在保存时可以将代码格式化,没有添加的import自动添加上去并且排序,非常的方便
vscode + go 插件
vscode 对 go 的支持也非常的好,在使用go语法时未安装会自动跳出安装提示,按照提示安装即可
注意: vscode 运行 go 需要在命令行中执行相关文件即可.
本作品采用《CC 协议》,转载必须注明作者和本文链接