# OS-Tutorial **Repository Path**: gitee-yzh/os-tutorial ## Basic Information - **Project Name**: OS-Tutorial - **Description**: 思想和智慧的输入与输出 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: golearning - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-07-13 - **Last Updated**: 2022-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 学习材料地址 教程地址: go官方基础知识介绍及在线编码环境:https://tour.go-zh.org/welcome/1 mastering go: https://github.com/hantmac/Mastering_Go_ZH_CN 其他参考资料: 视频学习go编程基础:https://github.com/unknwon/go-fundamental-programming 雨痕大神的go程序设计:https://www.yuque.com/qyuhen/go golang电子书合集:https://github.com/0voice/Introduction-to-Golang/tree/main/%E7%94%B5%E5%AD%90%E4%B9%A6%E7%B1%8D 感兴趣可以了解: go语言爱好者周刊:https://github.com/polaris1119/golangweekly 里面有每期一题、最新资讯、专题文章、开源项目介绍等 ### 计划日历 *十一月* | Mon | Tues | Wed | Thur | Fri | Sat | Sun | |---------------------------|---------------------------|---------------------------|---------------------------|---------------------------| ---- | ---- | | | | | | | | | | | | | 10[Day 1](#day1) | 11[Day2](#day2-&-day3) | 12 | 13 | | 14[Day3](#day2-&-day3) | 15[Day4](#day4-&-day5) | 16[Day5](#day4-&-day5) | 17[Day6](#day6-&-day7) | 18[Day7](#day6-&-day7) | 19 | 20 | | 21[Day8](#day8-&-day9) | 22[Day9](#day8-&-day9) | 23[Day10](#day10-&-day11) | 24[Day11](#day10-&-day11) | 25[Day12](#day12-&-day13) | 26 | 27 | | 28[Day13](#day12-&-day13) | 29[Day14](#Day14-&-Day15) | 30[Day15](#day14-&-day15) | | | | | *十二月* | Mon | Tues | Wed | Thur | Fri | Sat | Sun | | ---- | ---- | ---- |------------------|------------------| ---- | ---- | | | | | 1[Day16](#day16) | 2[Day17](#day17) | 3 | 4 | | 5 | 6 | 7 | 8 | 9 | 10 | 11 | | | | | | | | | | | | | | | | | | | | | | | | | ### Day1 - hello world - 基础介绍 - 环境搭建 1. 查看https://tour.go-zh.org/welcome/1 网站学习go官方提供的基础知识介绍,可以在线编码、调试 2. yum install golang安装go,下载安装GoLand或者vscode等编辑器,在编辑器上编写并运行Hello world 3. 可以复制上述网站的代码,在本地运行试试 ### Day2 & Day3 - Go 基础知识 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter3 1. 阅读Mastering go 的**第3章节**,包括 循环、切片、常量、指针、时间日期格式 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 3.9章节的练习 - 1:使用iota编写常量生成器表示数字0-4 - 2:使用iota编写常量生成器表示一周的天数 - 3:编写程序将数组转为map ### Day4 & Day5 - Go 基础知识2 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter4 1. 阅读Mastering go 的**第4章节**,包括 组合类型、结构体、元组、字符串、正则 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 4.10章节的练习 - 1:写一个Go程序,识别无效的IPv4地址 - 6:使用math/big包计算高精度平方根,算法自选 - 8:写一个正则表达式匹配200-400之间的整数 ### Day6 & Day7 - go中的数据结构 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter5 1. 阅读Mastering go 的**第5章节**,包括 二叉树、哈希表、链表、队列、栈、容器 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 5.12章节的练习 - 2:修改 `queue.go` 的代码使其能够存ۘ浮点数而不是整数。 - 9:实现 `linkedList.go` 中缺失的删除节点的功能 ### Day8 & Day9 - package、函数 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter6 1. 阅读Mastering go 的**第6章节**,包括 package、函数 等内容 2. 在本地创建目录,编写本章代码并运行 ### Day10 & Day11 - 类型方法、接口、反射 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter7 1. 阅读Mastering go 的**第7章节**,包括 类型方法、接口、反射 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 7.8章节的练习 - 1:编写一个接口,并在另一个Go程序中使用它。然后说明你编写的接 口的作用 - 4:编写一个使用反射的例子 ### Day12 & Day13 - 并发、channel和pipeline - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter9 1. 阅读Mastering go 的**第9章节**,包括 goroutine、channel、管道 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 9.7章节的练习 - 2:创建一个管道来计算给定范围的所有自然数的平方和 - 5:修改 `pipleline.go` 代码来找出当您忘记关闭 first() 函数中的 out 通道会发生什么 ### Day14 & Day15 - 并发进阶讨论 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter10 1. 阅读Mastering go 的**第10章节**,包括 调度器、select、重温channel、context包 等内容 2. 在本地创建目录,编写本章代码并运行 3. 做 10.9章节的练习 - 1:使用缓冲通道实现一个并发版本的 `wc(1)` 。 - 2:接着,使用共享内存实现一个并发版本的 `wx(1)` 。 - 3:最后,使用监视 goroutine 实现一个并发版本的 `wx(1)` 。 ### Day16 - unix系统编程 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter8 1. 阅读Mastering go 的**第8章节**,包括 flag包、io、文件处理、strings包、bytes包、UNIX信号 等内容 2. 在本地创建目录,编写本章代码并运行 ### Day17 - go网络编程基础 - https://github.com/hantmac/Mastering_Go_ZH_CN/tree/master/eBook/chapter12 1. 阅读Mastering go 的**第12章节**,包括 net、http、获取dns、web服务器 等内容 2. 在本地创建目录,编写本章代码并运行