既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
fmt.Println("hello world", "china", 2021)
// 不带换行符, 单纯输出
fmt.Print("你好", 666, "\n")
// 格式化输出, 不换行
fmt.Printf("hello %s %d\n", "chao", 2021)
// 自动识别格式化参数的类型
fmt.Printf("name: %v age: %v\n", "chao", 25)
// 获取到格式化后的字符串
str := fmt.Sprintf("float %f", 3.1415926)
fmt.Println(str)
// 输入到指定写入器, io.Writer 为接口类型, os.Stdout实现了该接口, 输出到当前终端
fmt.Fprintln(os.Stdout, "A")
}
2. 基本 IO 接口
package main
import (
“fmt”
“io”
“os”
“strings”
)
// ReadFrom 从不同的输入源读取
func ReadFrom(reader io.Reader, num int) ([]byte, error) {
// 开辟内存空间
p := make([]byte, num)
// 将数组读取到变量中
n, err := reader.Read§
if n > 0 {
return p[:n], nil
}
return p, err
}
// 字符串中读取
func fromString() {
// 创建字符串读取器, strings.Reader 实现了 io.Reader
data, _ := ReadFrom(strings.NewReader(“from string”), 12)
fmt.Println(data)
}
// 从命令行中读取
func fromStdin() {
fmt.Println(“please input from stdin:”)
data, _ := ReadFrom(os.Stdin, 11)
fmt.Println(data)
}
// 从文件中读取
func fromFile() {
// 打开文件资源
file, _ := os.Open(“main.go”)
// 关闭文件资源
defer file.Close()
data, \_ := ReadFrom(file, 10)
fmt.Println(data)
}
func main() {
fromString() // [102 114 111 109 32 115 116 114 105 110 103]
fromStdin() // chao [99 104 97 111 10]
fromFile() //
}
3. 缓存 IO 接口
package main
import (
“bufio”
“fmt”
“os”
“strings”
)
// 缓冲 IO
func main() {
// 创建一个字符串读取器
strReader := strings.NewReader(“hello world”)
// 创建缓冲读取器
bufReader := bufio.NewReader(strReader)
// 读取指定大小的数据, 只读不取, 读出后缓存区字符大小不变
data, \_ := bufReader.Peek(5)
// Buffered 当前读取器缓冲的字符大小
fmt.Println(string(data), bufReader.Buffered()) // hello 11
// 读后又取, 读出后缓存区字符大小改变为剩下的字符大小
str, \_ := bufReader.ReadString(' ') // 遇到空格后停止读取
fmt.Println(str, bufReader.Buffered()) // hello 5
// 写入器
writer := bufio.NewWriter(os.Stdout)
fmt.Fprintln(writer, "hello!")
fmt.Fprintln(writer, "world!")
writer.Flush() // 提交, 将缓冲区的数据写入终端
}


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.youkuaiyun.com/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
//bbs.youkuaiyun.com/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**