Go
话题列表 社区 Wiki 优质外文 招聘求职 Go 实战教程 社区文档
登录
注册
Go 社区 Wiki
展开或关闭
一. Go 前置信息
1. Go 基础信息
1.1. 什么是 Go 语言? 1.2. Go 语言作者及其背后的团队 1.3. Go 语言有哪些版本? 1.4. Go 语言发行策略 1.5. Go 入门指南(新手必读) 1.6. 使用 Go 语言的开源项目和公司
2. Go 语言环境安装
2.1. Windows 下安装 Go 2.2. Mac 下安装 Go 2.3. Linux 开发环境 2.4. $GOROOT 目录详解 2.5. 命令行工具 2.6. Mac 下如何升级 Go 2.7. 如何使用 Go 多版本(Mac)
3. Go 编程工具
3.1. VSCode 及常用插件 3.2. 如何在 VSCode 调试 Go 代码? 3.3. 代码格式 gofmt
4. Go 国内加速
4.1. 如何加速下载 Go 官方安装包? 4.2. Go 国内加速镜像 4.3. 清除模块缓存 4.4. 解决 GOSUMDB sum.golang.org 连接超时
5. Go 资源
5.1. 本地安装 A tour of Go(含中文)
二. Go 语言基础
6. Go 语言基础语法
6.1. Hello World 实例 6.2. Web 版 Hello World 6.3. Go 标记 6.4. 行分隔符 6.5. 注释 6.6. 标识符 6.7. 关键字 6.8. 空格 6.9. 命名规范
7. Go 语言数据类型
7.1. 布尔型 bool 7.2. 数字类型 7.3. 字符串类型 7.4. 指针类型(Pointer) 7.5. 数组类型 7.6. 切片类型 (Slice) 7.7. 结构化类型(struct) 7.8. Channel 类型 7.9. 函数类型 7.10. 接口类型(interface) 7.11. Map 类型 7.12. 类型转换 7.13. 类型别名
8. Go 语言变量与赋值
8.1. 变量声明 8.2. 多变量声明 8.3. 值类型和引用类型 8.4. 使用 := 赋值操作符 8.5. 常量 8.6. 特殊常量 iota 8.7. 局部变量 8.8. 全局变量 8.9. 形式参数 8.10. 所有环境变量
9. Go 语言运算符
9.1. 算术运算符 9.2. 关系运算符 9.3. 逻辑运算符 9.4. 位运算符 9.5. 赋值运算符 9.6. 其他运算符 9.7. 运算符优先级
10. Go 语言控制语句
10.1. if 条件语句 10.2. if...else 条件语句 10.3. switch 条件语句 10.4. select 条件语句 10.5. for 循环 10.6. 循环嵌套 10.7. break 语句 10.8. continue 语句 10.9. goto 语句
11. Go 语言函数
11.1. 函数的基本语法 11.2. 按值传递(By Value) 11.3. 按引用传递(Pointer) 11.4. 命名的返回值 11.5. 空白符 11.6. 改变外部变量 11.7. 传递变长参数 11.8. defer 和追踪 11.9. 内置函数 11.10. 递归函数 11.11. 将函数作为参数 11.12. 闭包(匿名函数) 11.13. 将函数作为返回值 11.14. 闭包调试 11.15. 计算函数执行时间 11.16. 通过内存缓存来提升性能
12. Go 语言字符串操作
12.1. HasPrefix 和 HasSuffix 12.2. 包含关系 Contains 12.3. 索引和位置 Index 12.4. 字符串替换 Replace 12.5. 统计出现次数 Count 12.6. 重复 Repeat 12.7. 大小写 ToLower 和 ToUpper 12.8. 修剪 TrimSpace 12.9. 分割 Fields 和 Split 12.10. 拼接 Join 12.11. 读取内容 Read, ReadByte, ReadRune 12.12. 转换为其他类型
13. Go 语言数组
13.1. 简单数组 13.2. 数组常量 13.3. 多维数组 13.4. 将数组传递给函数
14. Go 语言切片 Slice
14.1. 切片的基础用法 14.2. new() 和 make() 的区别 14.3. len() 和 cap() 函数 14.4. 空(nil)切片 14.5. 切片截取 14.6. append() 和 copy() 函数 14.7. for-range 结构 14.8. 切片重组(reslice)
15. Go 语言集合 Map
15.1. 集合的基础用法 15.2. delete() 函数 15.3. map 容量 15.4. 用切片作为 map 的值 15.5. map 类型的切片 15.6. for-range 的配套用法 15.7. 测试键值对是否存在 15.8. map 的排序 15.9. 将 map 的键值对调
16. Go 语言时间和日期
16.1. 获取当前时间 16.2. 日期格式 16.3. 格式转换
17. Go 语言包管理 Package
17.1. 标准库概述 17.2. 自定义包和可见性 17.3. 为自定义包使用 godoc 17.4. go install 安装自定义包 17.5. 自定义包的目录结构 17.6. 通过 Git 打包和安装 17.7. 外部库和项目 17.8. Go 程序中使用外部库
18. Go 语言指针
18.1. 使用指针 18.2. Go 的空指针 18.3. Go 指针数组 18.4. 指向指针的指针 18.5. 向函数传递指针参数
19. Go 语言结构体 Struct
19.1. 结构体定义 19.2. 结构体的使用 19.3. 结构体作为函数参数 19.4. 结构体指针 19.5. 结构体工厂 19.6. map 和 struct vs new() 和 make() 19.7. 使用自定义包中的结构体 19.8. 带标签的结构体 19.9. 匿名(或内嵌)字段 19.10. 内嵌结构体 19.11. 命名冲突
20. Go 语言方法 Method
20.1. 方法的基础用法 20.2. 函数和方法的区别 20.3. 指针或值作为接收者 20.4. 方法和未导出字段 20.5. 内嵌类型的方法和继承 20.6. 如何在类型中嵌入功能 20.7. 多重继承 20.8. 通用方法和方法命名 20.9. 格式化描述符 String()
21. Go 语言模式
21.1. 逗号 ok 模式 21.2. defer 模式 21.3. 能见度模式 21.4. 操作者模式和接口
三. Go 语言面向对象
22. Go 语言面对对象编程
22.1. Go 中的面向对象 22.2. 接口的基础用法 22.3. 接口嵌套接口 22.4. 类型判断:type-switch 22.5. 测试是否实现了某个接口 22.6. 方法集与接口 22.7. 使用 Sorter 接口排序 22.8. 读和写接口 22.9. 空接口 22.10. 接口与动态类型 22.11. 动态方法调用 22.12. 接口的继承 22.13. 对比其他语言
四. Go 语言并发编程
23. Go 轻量级线程 goroutine
23.1. Go 协程 goroutine 23.2. 协程间的信道 23.3. 通信操作符 <- 23.4. 通道阻塞 23.5. 交换数据与同步
24. Go 语言通道 channel
24.1. 使用带缓冲的通道 24.2. 信号量模式 24.3. 并发和并行的差异 24.4. 实现并行的 for 循环 24.5. 通道的方向 24.6. 关闭通道 24.7. 使用 select 切换协程 24.8. 协程和恢复(recover) 24.9. 多路复用 24.10. 限制并发数 24.11. 链式操作 24.12. 多核运算
25. Go 语言并发实例
25.1. 多核运算处理大量数据 25.2. 漏桶算法 Leaky Bucket 25.3. 标杆分析 Goroutines 25.4. 同步 25.5. Channel 并发读取对象 25.6. 协程中使用闭包
五. Go 语言编码技巧
26. Go 语言文件操作
26.1. 读取用户的输入 26.2. 读取文件 26.3. 读取压缩文件 26.4. 用 buffer 读取文件 26.5. 写入文件 26.6. 用切片读写文件 26.7. 拷贝文件 26.8. 用 defer 关闭文件 26.9. 从命令行读取参数 26.10. Json 反序列化 26.11. 读取 XML 26.12. 生成 XML 26.13. 用 Gob 传输数据 26.14. Go 中的密码学
27. Go 语言错误处理
27.1. Go 中的错误处理 27.2. 定义错误 27.3. 运行时异常和 panic 27.4. 从 panic 中恢复(Recover) 27.5. 自定义包中的错误处理 27.6. 使用闭包的处理错误 27.7. 糟糕的错误处理
28. Go 语言网络编程
28.1. TCP 服务器 28.2. 简单的网页服务器 28.3. 读取网页 28.4. Websocket 通讯 28.5. SMTP 发送邮件
29. Go 语言数据库
29.1. 连接 MySQL 数据库 29.2. 查询数据
30. Go 语言垃圾回收
30.1. 垃圾回收机制说明 30.2. SetFinalizer
31. Go 语言测试
31.1. 测试的基本使用 31.2. 表驱动测试
32. Go 语言性能优化
32.1. 分析并优化 Go 程序
六. Golang 学习资料
33. Go 官方翻译
33.1. Go 编码指南《How to Write Go Code》 33.2. 《Effective Go》中文翻译召集 33.3. Go 常见问题(Go FAQ) 33.4. Go 代码审核指南(Code Review)
34. Go 经典译文
34.1. Uber 开源的《Go 语言编码规范》 34.2. Go 最佳实践: 编写可维护 Go 代码 34.3. Go 程序 SOLID 设计原则 34.4. 50 个 Go 新手易犯的错误(2020版)
35. Go 开放课程
35.1. MIT 经典课程 《分布式系统》
Go
首页
Laravel Go Python PHP Vue.js Java MySQL Rust LK 程序员 Elasticsearch F2E 前端 Server Database DevTools Computer Science 手机开发 AdonisJS AI Coding
社区 Wiki
教程
Go 实战教程首页 《G01 Go 实战:Web 入门》 《G02 Go API 实战》 《GX1 Golang 五分钟视频》
文档
社区文档首页 《高效的 Go 编程 Effective Go》 《Go Blog 中文翻译》 《Go 简易教程》 《Go 编程实例 Go by Example》 《Go 入门指南》 《Go 编程基础(视频)》 《Go Web 编程》 《Iris 框架中文文档》 《通过测试学习 Go 编程》 《Gin 框架中文文档》 《GORM 中文文档》 《Go SQL 数据库教程》
登录 注册
微信登录

Go 语言字符串操作:读取内容 Read, ReadByte, ReadRune Draft 0 个改进

0 0 0
暂无内容~~
本 Wiki 尚未完善,邀您参与 改进 如何撰写一篇高品质的 Wiki?
贡献者 :
0 人点赞

推荐文章:

更多推荐...
lanliddd
博客
lancet: 一个全面、高效、可复用的go语言工具函数库 10 / 14 | 1年前
crossoverJie
博客
里程碑!用自己的编程语言实现了一个网站 13 / 9 | 2年前
playmaker
博客
重磅!七国编程集团决定制裁Go语言! 14 / 8 | 2年前
刘丹冰Aceld
博客
[Golang三关-典藏版]一站式Golang内存洗髓经 18 / 7 | 2年前
qbhy
博客
是的没错,我就是抄的。一个像 Laravel 那样好用的 go 语言的 SQL 查询构造器 19 / 3 | 3年前
潇洒哥老苗
博客
我给 ”Go 语言“ 开发了 6 个在线工具 73 / 21 | 3年前
讨论数量: 0
排序:
时间 投票
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
支持 MD 帮助

社区赞助商

成为赞助商

关于 LearnKu

LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事

资源推荐

  • 《社区使用指南》
  • 《文档撰写指南》
  • 《LearnKu 社区规范》
  • 《提问的智慧》
  • 服务提供商

    其他信息

  • 成为版主
  • 所有测验
  • 联系站长(反馈建议)
  • 粤ICP备18099781号-6 | 粤公网安备 44030502004330号 | 违法和不良信息举报

    由 Summer 设计和编码 ❤

    请登录

    忘记密码? or 注册
    第三方账号登录
    微信登录 GitHub 登录
    内容举报
    匿名举报,为防止滥用,仅管理员可见举报者。

    我要举报该,理由是:

    取消