Go语言学习笔记(一)

本文是Go语言学习笔记的第一部分,涵盖了Go语言的标准库,重点讲解了并发特性和通道(channel)的使用。文章介绍了fmt、io、bufio等标准库的功能,详细阐述了Go的并发机制,包括goroutine、互斥锁以及如何通过通道实现goroutine间的通信。最后,讨论了无缓冲和有缓冲通道的工作原理及其在同步中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

标准库—并发—通道—接口—测试

掌握go语言编程核心的一些东西总结。注:部分资源为以前看到的整理在一起了,如有侵权,请联系删除。参考书目:《Go语言核心编程》_李文塔 golang高级编程_go语言中文社区 Go语言实战 等

标准库

在这里插入图片描述

  • 具体说明:
  1. fmt
    包 fmt 实现了格式化的 I/O 函数,这与 C 的 printf 和 scanf 类似。格式化短语派生于 C 。一些短语(%-序列)这样使用:

• %v:默认格式的值。当打印结构时,加号(%+v)会增加字段名;
• %#v:Go 样式的值表达;
• %T:带有类型的 Go 样式的值表达;
2) io
这个包提供了原始的 I/O 操作界面。它主要的任务是对 os 包这样的原始的 I/O 进行封装,增加一些其他相关,使其具有抽象功能用在公共的接口上。

  1. bufio
    这个包实现了缓冲的 I/O。它封装于 io.Reader 和 io.Writer 对象,创建了另一个对象(Reader 和 Writer)在提供缓冲的同时实现了一些文本 I/O 的功能。

  2. sort
    sort 包提供了对数组和用户定义集合的原始的排序功能。

  3. strconv
    strconv 包提供了将字符串转换成基本数据类型,或者从基本数据类型转换为字符串的功能。

  4. os
    os 包提供了与平台无关的操作系统功能接口。其设计是 Unix 形式的。

  5. sync
    sync 包提供了基本的同步原语,例如互斥锁。

  6. flag
    flag 包实现了命令行解析。

  7. encoding/json
    encoding/json 包实现了编码与解码 RFC 4627 定义的 JSON 对象。

  8. html/template
    数据驱动的模板,用于生成文本输出,例如 HTML。

    将模板关联到某个数据结构上进行解析。模板内容指向数据结构的元素(通常结构的字段或者 map 的键)控制解析并且决定某个值会被显示。模板扫描结构以便解析,而“游标” @ 决定了当前位置在结构中的值。

  9. net/http
    net/http 实现了 HTTP 请求、响应和 URL 的解析,并且提供了可扩展的 HTTP 服务和基本的 HTTP 客户端。

  10. unsafe
    unsafe 包包含了 Go 程序中数据类型上所有不安全的操作。通常无须使用这个。

  11. reflect
    reflect 包实现了运行时反射,允许程序通过抽象类型操作对象。通常用于处理静态类型 interface{} 的值,并且通过 Typeof 解析出其动态类型信息,通常会返回一个有接口类型 Type 的对象。

  12. os/exec
    os/exec 包执行外部命令。

OS包:
fmt.Println(os.Args)
在 os 包中,相关函数名字和

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值