随笔分类 -  Go 基础&标准库

摘要:package os 提供了对 I/O 原语的基本接口,使之成为共享的公共接口,这些公共接口抽象出了泛用的函数并附加了一些相关的原语的操作。因为这些接口和原语是对底层实现完全不同的低水平操作的包装,除非得到其它方面的通知,客户端不应假设它们是并发执行安全的。 在 package os 中最重要的是两个接口:Reader 和 Writer 接口。本章所提到的各种接口,都跟这两个接口有关,也就是说,只要实现了这两个接口,它就有了 IO 的功能。 阅读全文
posted @ 2014-11-05 17:47 Bing.L 阅读(764) 评论(0) 推荐(0)
摘要:如果不打算用 gdb 调试,就在编译 golang 程序时去掉 DWARF 调试信息,可以使程序变得小一点。 阅读全文
posted @ 2014-11-04 08:56 Bing.L 阅读(651) 评论(0) 推荐(0)
摘要:文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的。Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中。 阅读全文
posted @ 2014-11-03 11:38 Bing.L 阅读(521) 评论(0) 推荐(0)
摘要:Golang 有2个内置的函数 panic() 和 recover(),用以报告和捕获运行时发生的程序错误,与 error 不同,panic-recover 一般用在函数内部。一定要注意不要滥用 panic-recover,可能会导致性能问题,我一般只在未知输入和不可靠请求时使用。 阅读全文
posted @ 2014-11-01 23:15 Bing.L 阅读(610) 评论(0) 推荐(0)
摘要:defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO(先进后出)的原则依次执行每一个 defer,一般用于异常处理、释放资源、清理数据、记录日志等。defer 的工作有点像面向对象语言的析构函数,优雅又简洁,是 Golang 的亮点之一。 阅读全文
posted @ 2014-10-31 22:39 Bing.L 阅读(413) 评论(0) 推荐(0)
摘要:Golang 中的 error 类型实际上是抽象了 Error() 方法的 error 接口,在 Golang 中一般使用该接口进行标准的错误处理。 阅读全文
posted @ 2014-10-31 21:09 Bing.L 阅读(414) 评论(0) 推荐(0)