《effective Go》读后记录:GO基础】的更多相关文章

一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序. 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处理大部分的格式化问题.gofmt程序是go标准库提供的一段程序,可以尝试运行它,它会按照标准风格缩进,对齐,保留注释,它默认使用制表符进行缩进.Go标准库的所有代码都经过gofmt程序格式化的. 注释 Go注释支持C风格的块注释/* */和C++风格的行注释//.块注释主要用作包的注释.Go官方提倡…
一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序. 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处理大部分的格式化问题.gofmt程序是go标准库提供的一段程序,可以尝试运行它,它会按照标准风格缩进,对齐,保留注释,它默认使用制表符进行缩进.Go标准库的所有代码都经过gofmt程序格式化的. 注释 Go注释支持C风格的块注释/* */和C++风格的行注释//.块注释主要用作包的注释.Go官方提倡…
本文的主要内容是: 了解goroutine,使用它来运行程序 了解Go是如何检测并修正竞争状态的(解决资源互斥访问的方式) 了解并使用通道chan来同步goroutine 一.使用goroutine来运行程序 1.Go的并发与并行 Go的并发能力,是指让某个函数独立于其他函数运行的能力.当为一个函数创建goroutine时,该函数将作为一个独立的工作单元,被 调度器 调度到可用的逻辑处理器上执行.Go的运行时调度器是个复杂的软件,它做的工作大致是: 管理被创建的所有goroutine,为其分配执…
基础 抽象 封装 多态 继承 原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 类应该对扩展开放,对修改关闭 依赖抽象,不要依赖具体类 只和朋友交谈 别找我,我会找你 类应该只有一个改变的理由 模式 策略(Strategy) 场景:鸭子行为 定义:定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 观察者(Observer) 场景:气象监测 定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时…
感觉自己最近提升很慢了.然后去找了一些面试题看看.发现自己自大了.在实际开发中,让我解决bug.编写功能,我有自信可以完成.但是对项目更深层的思考,我却没有.为了能进到自己的目标BAT.也为了让自己更进一步发展.目前是计划是先看<Effective Objective-C 2.0>.<Objective-C高级编程:iOS与OS X多线程和内存管理>2本书,并将AFN.YYCache.SDWebImage等开源源码再认真看一遍,并写下自己的读后总结. <Effective O…
综述 之前使用ExtJS时遇到一个问题:为什么依次设置多个组件的可见性界面会卡顿?在了解HTML的dom操作相关内容的时候也好奇这个东西到底是怎么回事,然后尤其搞不懂CSS和Html分管样式和网页结构,这个东西是怎么实现的,是不是很复杂? 带着这些问题,看了一些文章,尤其是听说了Redraw和Reflow的概念之后,开始研究了dom的性能调优,最近看了一篇<how browser work>,觉得写得很详细,结合之前看的文章,解决了不少的困惑,写一篇对这个文章的读后总结,顺便记下来自己掌握的一…
WiscKey: Separating Keys from Values in SSD-Conscious Storage WiscKey是一个基于LSM的KV存储引擎,特点是:针对SSD的顺序和随机读写都高效的特点,Key和Value分开存储以最小化IO放大效应.YCSB场景中它比LevelDB和RocksDB都快. 1 介绍 目前的KV存储引擎中,对写性能要求比较高的大多数都采用了LSM,典型的有BigTable/LevelDB/Cassandra/HBase/RocksDB/PNUTS/R…
开篇声明,我博客中“小心情”这一系列,全都是日记啊随笔啊什么乱七八糟的.如果一不小心点进来了,不妨直接关掉.我自己曾经写过一段时间的日记,常常翻看,毫无疑问我的文笔是很差的,而且心情也是瞬息万变的.因此,如果你对我并不感兴趣,实在是没必要在我这里浪费时间. 前些日子刚刚看完<无限恐怖>,那感觉简直就像是新生一般.记得刚开始,只是因为晚上害怕,不敢睡觉,才去找书看的.当晚找到一个什么小说排行榜,评论中对<无限恐怖>评价很高,于是就看了看.结果,一发不可收拾…… 这部小说实在是好,开篇…
学习记录-java基础部分(一) 参考:GitHub上的知名项目:javaGuide : https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/Java%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md 1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机.嵌入式开发.Linux/Un…
Code Complete 读后总结和新的扩展阅读计划 用了一年时间终于将代码大全读完了,在这里做一个简单的总结,并安排下一阶段的扩展阅读计划. 1.选择代码大全作为我程序员职业入门的第一本书,我认为是很正确的.这本书语言生动,擅于用隐喻说明深刻的编程原理,虽然并不是写给新手看的,但作为一个新手,我依然从中学到了很多.    2.这本书有很多一针见血的论述:设计是一个启发式过程:编程的最大难题是解决其复杂性:要深入一种语言编程而不是在一种语言上编程,等等.    3.实践是这本书的核心,它提供了…