go语言基础
恶作剧 go
# 基本命令
#查看版本信息
go version
#查看环境信息
go env
#设置代理 Go 1.13 及以上(推荐)
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
# 或 go env -w GOPROXY=https://goproxy.cn,direct
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 目录结构
- src 目录:放置项目和库的源文件;
- pkg 目录:放置编译后生成的包/库的归档文件;
- bin 目录:放置编译后生成的可执行文件。
# 标准库
| Go语言标准库包名 | 功 能 |
|---|---|
| bufio | 带缓冲的 I/O 操作 |
| bytes | 实现字节操作 |
| container | 封装堆、列表和环形列表等容器 |
| crypto | 加密算法 |
| database | 数据库驱动和接口 |
| debug | 各种调试文件格式访问及调试功能 |
| encoding | 常见算法如 JSON、XML、Base64 等 |
| flag | 命令行解析 |
| fmt | 格式化操作 |
| go | Go语言的词法、语法树、类型等。可通过这个包进行代码信息提取和修改 |
| html | HTML 转义及模板系统 |
| image | 常见图形格式的访问及生成 |
| io | 实现 I/O 原始访问接口及访问封装 |
| math | 数学库 |
| net | 网络库,支持 Socket、HTTP、邮件、RPC、SMTP 等 |
| os | 操作系统平台不依赖平台操作封装 |
| path | 兼容各操作系统的路径操作实用函数 |
| plugin | Go 1.7 加入的插件系统。支持将代码编译为插件,按需加载 |
| reflect | 语言反射支持。可以动态获得代码中的类型信息,获取和修改变量的值 |
| regexp | 正则表达式封装 |
| runtime | 运行时接口 |
| sort | 排序接口 |
| strings | 字符串转换、解析及实用函数 |
| time | 时间接口 |
| text | 文本模板及 Token 词法器 |
# 基本类型
- bool
- string
- int、int8、int16、int32、int64
- uint、uint8、uint16、uint32、uint64、uintptr
- byte // uint8 的别名
- rune // int32 的别名 代表一个 Unicode 码
- float32、float64
- complex64、complex128
定义变量方式 var i int;
# 常用web框架
Gin go语言写的http web框架
https://github.com/gin-gonic/gin
Beego go语言下高性能web框架
https://github.com/astaxie/beego
Buffalo Go语言下快速开发web的框架
Echo 高性能极简的Web框架
Iris: 目前发展最快的Go Web框架。提供完整的MVC功能并且面向未来。
官网地址:
https://github.com/kataras/iris
中文地址:
http://www.codebaoku.com/iris/iris-index.html