从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go build 和 go install 等命令,而这些指令会自动调用相关的编译器或链接器。

如果你想获得更深层次的信息,你可以在目录 $GOROOT/src/cmd 下找到编译器和链接器的源代码。Go 语言本身是由 C 语言开发的,而不是 Go 语言(Go 1.5 开始自举)。词法分析程序是 GNU bison,语法分析程序是名为 $GOROOT/src/cmd/gc/go.y 的 yacc 文件,它会在同一目录输出 y.tab.{c,h} 文件。如果你想知道更多有关构建过程的信息,你可以在 $GOROOT/src/make.bash 中找到。

摘自:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/02.1.md

go不支持的特性:

许多能够在大多数面向对象语言中使用的特性 Go 语言都没有支持,但其中的一部分可能会在未来被支持。

  • 为了简化设计,不支持函数重载和操作符重载
  • 为了避免在 C/C++ 开发中的一些 Bug 和混乱,不支持隐式转换
  • Go 语言通过另一种途径实现面向对象设计(第 10-11 章)来放弃类和类型的继承
  • 尽管在接口的使用方面(第 11 章)可以实现类似变体类型的功能,但本身不支持变体类型
  • 不支持动态加载代码
  • 不支持动态链接库
  • 不支持泛型
  • 通过 recover 和 panic 来替代异常机制(第 13.2-3 节)
  • 不支持断言
  • 不支持静态变量

关于 Go 语言开发团队对于这些方面的讨论,你可以通过 Go 常见问题 页面查看。

1.2.8 使用 Go 语言编程

  • 简化问题,易于学习
  • 内存管理,简洁语法,易于使用
  • 快速编译,高效开发
  • 高效执行
  • 并发支持,轻松驾驭
  • 静态类型
  • 标准类库,规范统一
  • 易于部署
  • 文档全面
  • 免费开源

转自:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/01.2.md

最新文章

  1. Ajax跨域的几种方法以及每种方法的原理
  2. Java连接Elasticsearch集群
  3. 慢牛APP相关截图
  4. JDE910笔记1--基础介绍及配置
  5. react native mac install
  6. springmvc数组参数传递
  7. Swift中构造器的继承和重写
  8. 解决adb server is out of date. killing...问题
  9. win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法
  10. 2017 6 2php用PDO链接数据库前测试
  11. 两步验证杀手锏:Java 接入 Google 身份验证器实战
  12. vue 循环前十条数据
  13. 嵌入式开发之hi3519---进程线程间的同步和互斥,条件变量、信号了、互斥锁等
  14. 大数据自学2-Hue集成环境中使用Sqoop组件从Sql Server导数据到Hive/HDFS
  15. k8s tensorflow
  16. 2018ICPC青岛 E - Plants vs. Zombies (二分+模拟)
  17. Importing multi-valued field into Solr from mySQL using Solr Data Import Handler
  18. Python 3之str类型、string模块学习笔记
  19. 5 云计算系列之glance镜像服务安装
  20. Egret IDE中搜索,过滤文件,只搜索.ts

热门文章

  1. Redis系列(七)--Sentinel哨兵模式
  2. 【转载】tomcat部署web项目的3中方法
  3. 解决移动端 footer fixd 定位被键盘顶起来的方案
  4. Linux之 sed用法
  5. [bzoj1569][JSOI2008][Blue Mary的职员分配]
  6. Arduino 测试空气质量等级模块 ZP07-MP503 测试
  7. ansible playbooks loop循环
  8. 洛谷 P3203 BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊
  9. [luoguP3690] 【模板】Link Cut Tree
  10. mtk display 架构