This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
读书,先是从厚读到薄,然后是从薄读到厚;写代码也是一样一样的 | |
不停coding,但又及时回顾、提炼,总结出一些规律和方法,再从这些规律和方法出发,指导后续的工作,这是一个「从厚到薄」的过程 | |
针对其中的每个点,可以从容自得地、深入浅出地讲解、分享给其他人,可以解决一些深层次的问题,这个过程就是「从薄到厚」 | |
正所谓「厚积薄发」,「厚积」容易,「薄发」难,最近这半年在支付宝的工作,自我感觉提升非常大,但是提升的内容仅仅只能抽象出一些要点,还做不到由点及面地开展,简单记录下,希望不久将来,可以「薄发」 | |
架构层面 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1、不支持继承 重载 ,比如C++Java的接口,接口的修改会影响整个实现改接口的类行为的修改,Go 设计者认为这一特点或许根本没用. | |
2、必任何函数定义必须花括号跟在函数声明后面而不能换行 如 func funca(a int){},在Go语言中 函数也是一种类型 可以被推导 使用支持匿名函数 和闭包。 | |
函数的返回值支持多重返回类似Python , 如果不赋值 整数类型默认 0 浮点数类型默认0.0 error类型 默认是nil | |
3、不用的包一定不要引入,这是Go的原则,就如Python的严格制表符对其一样 ,和 unused 变量都会被 编译器所报错 | |
4、package做为引入包用。 | |
5、import "a" 调用包内部的函数 a.xx() | |
6、CGo是Go语言的一个特性,可以方便快速的在Go中调用C 相比Java JNI简单容易实现 | |
7、go通过goroutine 进行协程优化 提高并发性能。 动态线程调整。 | |
8、6g和6l是64位版本的Go编译器和链接器,对应的32位版本工具为8g和8l。Go还有另外一个 GCC版本的编译器,名为 gccgo。 | |
9、注意多个go文件可以用同一个包名字,如果要为 Go生成可执行文件 那么必须 进行 package main |