go语言特性
与其他高级语言对比,go语言比java和python运行速度更快,在易用性方面强于C语言
go开发环境
安装go语言
golang.google.cn/dl/
windows中推荐直接下载.msi
安装包进行安装
Linux下将下载好的tar.gz
文件解压后,将bin
目录添加到系统(etc/profile)或用户(~/.bashrc)环境变量中
举例:假设go文件夹所在位置为目录/usr/local/go
,则在文件尾部添加如下
export PATH=/usr/local/go/bin:$PATH
而后退出终端重新登录即可,测试go是否安装成功
[root@localhost ~]$ go version
go version go1.20.6 linux/amd64
go语言基础
go1.16版本后默认开启go moudle机制,新建一个目录hello
$ mkdir ~/hello
$ cd hello
$ go mod init hello
$ vim main.go
修改main.go文件为
// go package,每个go文件中都必须以package开头
package main
// 导入依赖
import "fmt"
// 主函数
func main() {
fmt.Println("hello world!")
}
保存后在终端编译执行
$ go build
$ ./hello
$ hello world!
go实战
实现一个在线词典命令行工具,能够查询目标单词的中文翻译。类似如下效果
$ go run main.go hello
hello UK: [ˈheˈləu]
int.喂;哈罗
n.引人注意的呼声
v.向人呼(喂)
功能分析
flag
库构建简单命令行程序,将用户输入封装到请求体,发起http请求json
库获取请求体、响应体格式
在代码生成网站上根据复制的格式生成go代码
根据生成的go代码就能够构建相应的请求、响应结构体,在网站中,将json转换为go结构体
将命令行选项也添加到main.go
中,更改输出格式,最终得到如下代码
运行命令
$ go build -o translate && ./translate congratulation
congratulation UK: [kənˌgrætjuˈleiʃən] US: [kənˌgrætʃəˈleʃən]
n.(常pl.)祝贺,庆贺
注意
不忽略每一次操作中产生的错误,及时打印,返回有用信息,方便排错
构建请求与相应结构体时,因为要用到反射技术,所以结构体字段应为导出字段
发起请求后,使用defer
防止资源泄露