当前位置: 首页 > news >正文

Golang学习笔记: 常用标准库

在 Go 语言中,有很多内置的标准库包提供了各种功能,以下是一些常用的 Go 标准库包及其简要说明:

1. fmt

  • 功能:格式化输入输出。
  • 常用函数
    • fmt.Println(): 打印并自动换行。
    • fmt.Printf(): 格式化输出。
    • fmt.Scan(): 从标准输入读取数据。
    • fmt.Sprintf(): 格式化字符串并返回结果。

2. os

  • 功能:与操作系统进行交互,如文件操作、环境变量、进程控制等。
  • 常用函数
    • os.Open(): 打开文件。
    • os.Create(): 创建文件。
    • os.Remove(): 删除文件。
    • os.Getenv(): 获取环境变量。

3. io

  • 功能:提供基本的 I/O 操作接口和实用函数。
  • 常用接口/函数
    • io.Reader/io.Writer: 定义了读写接口。
    • io.Copy(): 从源 Reader 复制到目标 Writer
    • io/ioutil.ReadFile(): 读取文件内容为字节切片。

4. encoding/json

  • 功能:处理 JSON 编码和解码。
  • 常用函数
    • json.Marshal(): 将数据编码为 JSON 格式。
    • json.Unmarshal(): 将 JSON 格式数据解码为 Go 数据结构。

5. encoding/xml

  • 功能:处理 XML 编码和解码。
  • 常用函数
    • xml.Marshal(): 将数据编码为 XML 格式。
    • xml.Unmarshal(): 将 XML 格式数据解码为 Go 数据结构。

6. net/http

  • 功能:实现 HTTP 客户端和服务器功能。
  • 常用函数/类型
    • http.Get(): 发起 GET 请求。
    • http.Post(): 发起 POST 请求。
    • http.HandleFunc(): 注册 HTTP 处理函数。
    • http.ListenAndServe(): 启动 HTTP 服务器。

7. context

  • 功能:管理上下文和超时、取消信号。
  • 常用函数
    • context.Background(): 返回一个背景上下文,通常用作根上下文。
    • context.WithCancel(): 返回一个子上下文和取消函数。
    • context.WithTimeout(): 返回一个具有超时功能的上下文。

8. sync

  • 功能:提供同步原语,如互斥锁、读写锁等。
  • 常用类型/函数
    • sync.Mutex: 提供互斥锁。
    • sync.RWMutex: 提供读写锁。
    • sync.WaitGroup: 用于等待一组 Goroutine 完成。
    • sync.Once: 创建单例对象。
    • sync.Pool: 对象池。
    • sync.Map: 并发安全操作map。

9. time

  • 功能:处理时间和日期。
  • 常用函数/类型
    • time.Now(): 获取当前时间。
    • time.Sleep(): 暂停执行指定时间。
    • time.Parse(): 解析时间字符串。
    • time.Format(): 格式化时间为字符串。

10. math

  • 功能:提供数学常量和函数。
  • 常用函数
    • math.Sqrt(): 计算平方根。
    • math.Pow(): 计算幂。
    • math.Sin(): 计算正弦值。
    • math.Cos(): 计算余弦值。

11. strconv

  • 功能:字符串与基本数据类型之间的转换。
  • 常用函数
    • strconv.Itoa(): 整数转字符串。
    • strconv.Atoi(): 字符串转整数。
    • strconv.FormatFloat(): 格式化浮点数为字符串。

12. log

  • 功能:提供日志记录功能。
  • 常用函数
    • log.Println(): 记录日志并自动换行。
    • log.Printf(): 格式化日志记录。
    • log.Fatal(): 记录日志并调用 os.Exit() 退出程序。

13. flag

  • 功能:解析命令行标志。
  • 常用函数
    • flag.String(): 定义字符串标志。
    • flag.Int(): 定义整型标志。
    • flag.Parse(): 解析命令行标志。

14. regexp

  • 功能:支持正则表达式的匹配和操作。
  • 常用函数
    • regexp.MatchString(): 匹配字符串是否符合正则表达式。
    • regexp.FindAllString(): 找到所有符合正则表达式的字符串。

15. crypto

  • 功能:提供加密算法和功能。
  • 常用包
    • crypto/aes: 提供 AES 加密算法。
    • crypto/rsa: 提供 RSA 加密算法。
    • crypto/md5: 提供 MD5 哈希算法。
    • crypto/sha256: 提供 SHA-256 哈希算法。

总结

Go 的标准库包覆盖了从 I/O 操作、网络编程、数据编解码到同步和加密等多种常见需求。这些包在 Go 的应用开发中提供了强大的功能支持,是构建高效可靠应用程序的重要基础。理解这些常用包的功能和用法,可以提高编程效率和代码质量。

http://www.dtcms.com/a/406391.html

相关文章:

  • 华为OD最新机试题A卷双机位-增强的strstr-2025年
  • SpringBoot+Vue学生选课管理系统
  • Golang语言基础篇007_结构体详解
  • 跨周期共振效应在ETF网格参数适配中的应用技巧
  • 济南网站开发招聘有赞商城官网登录
  • 湘潭网站设计外包公司定制v软件下载
  • 论文阅读:NeurIPS 2024 LLM Evaluators Recognize and Favor Their Own Generations
  • 软件设计师——02 程序设计语言基础知识
  • 数据科学入门
  • P11227[CSP-J 2024] T1 扑克牌
  • 快文CopyDone:营销文案AI生成工具
  • 北京网站开发专员优化科技
  • 商城门户网站源码政务公开 加强门户网站建设
  • 计算机视觉 - 物体检测 开山鼻祖 R-CNN系列:Fast R-CNN、Faster R-CNN、Mask R-CNN
  • 基于Go语言实现分布式类地球模拟系统
  • AI视频特效转场教程:用Nano Banana和Kling 2.1创造病毒式传播效果
  • 广州网站建设 易点网站企业管理培训课程
  • 【代码随想录算法训练营——Day23】回溯算法——39.组合总和、40.组合总和II、131.分割回文串
  • 基于同轴线的电梯监控网络传输解决方案——NCR200-2 技术解析与应用
  • ms17-010(永恒之蓝)漏洞复现
  • 网站后台的作用如何通过做网站和公众号盈利
  • React 18.x 学习计划 - 第三天:React基础概念
  • 学习 React 前掌握 JavaScript 核心概念
  • 赢合科技2026届校园招聘—电气笔试题
  • 在linux上安装kafka,并使用kafka-clients实现消费者
  • 数据结构——受限表之队列
  • 宁波网站建设公司立找亿企邦郑州高端装修设计公司
  • python整合网站开发技术凌云网络科技有限公司
  • Ansible 生产级自动化指南:Playbook、Handlers、Jinja2 全解析
  • Ansible Playbook:自动化配置管理的利器