青训营笔记:Go 语言入门指南:基础语法和常用特性解析

2023年 7月 25日 59.5k 0

go语言特性

  • 高性能、高并发
  • 语法简单、学习曲线平缓
  • 丰富的标准库
  • 完善的工具链
  • 静态链接
  • 快速编译
  • 跨平台
  • 垃圾回收
  • 与其他高级语言对比,go语言比java和python运行速度更快,在易用性方面强于C语言

    go开发环境

    安装go语言

  • 从官网选择并下载适合操作系统的go语言安装包或压缩包
  • golang.google.cn/dl/

    image.png

  • 安装到本机并配置好环境变量
  • 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
  • 获取请求体、响应体格式

    image.png

    image.png
    在代码生成网站上根据复制的格式生成go代码

    根据生成的go代码就能够构建相应的请求、响应结构体,在网站中,将json转换为go结构体

    将命令行选项也添加到main.go中,更改输出格式,最终得到如下代码

    image.png
    运行命令

    $ go build -o translate && ./translate congratulation
    congratulation UK: [kənˌgrætjuˈleiʃən] US: [kənˌgrætʃəˈleʃən]
    n.(常pl.)祝贺,庆贺
    

    注意

    不忽略每一次操作中产生的错误,及时打印,返回有用信息,方便排错

    构建请求与相应结构体时,因为要用到反射技术,所以结构体字段应为导出字段

    发起请求后,使用defer防止资源泄露

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论