The-Golang-Standard-Library-by-Example
The-Golang-Standard-Library-by-Example copied to clipboard
Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。
有一个问题
``` sr := strings.NewReader("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890") buf := bufio.NewReaderSize(sr, 0) b := make([]byte, 10) fmt.Println(buf.Buffered()) // s, _ := buf.Peek(5) s[0], s[1], s[2] = 'a', 'b', 'c' fmt.Printf("%d %q\n", buf.Buffered(), s) ```...
或者搞一个目录,链接到相应的章节? 谢谢,辛苦了!
关于 log的不能访问了
关于join函数的说明, 可能需要修改 > 标准库的实现没有用 bytes 包,当然也不会简单的通过 + 号连接字符串 目前查看标准库实现方式是使用了 += 字符串连接操作的. ``` func Join(a []string, sep string) string { switch len(a) { case 0: return "" case 1: return a[0]...
unsafe.Sizeof(int)结果应该是8,不是16
因为Go目前还处于积极开发之中,所以源码还是会变,所以建议如果是贴Golang源码的话,最好附注一下版本。
3.3.1 堆这一节的: > 内部实现了down和up分别表示对堆中的某个元素向上保证最小堆和向上保证最小堆。 中打错了一个字吧, 应该是: 内部实现了down和up分别表示对堆中的某个元素向下保证最小堆和向上保证最小堆。
``` package main import ( "fmt" "sync" "time" ) var locker = new(sync.Mutex) var cond = sync.NewCond(locker) func test(x int) { cond.L.Lock() // 获取锁 cond.Wait() // 等待通知 暂时阻塞 fmt.Println(x) time.Sleep(time.Second...