Golang(又称Go语言)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。

golang底层是c语言吗?

最早的时候,Golang是用的C语言和汇编实现的。

后面Golang实现了自举,重写了编译器,所以现在是用的Golang本身实现的。

假如你发明了一种新的语言 CNifeLang,首先需要用一种现有的语言写一个 CNifeLang 的编译器,比如说就用 Golang 吧;你用 Golang 写了一个 CNifeLang 的编译器,能成功地把任何合法的 CNifeLang 源代码编译为等价的目标程序。接着用 CNifeLang 写一个程序,它与你用 Golang 写的编译器功能完全相同,用 Golang 实现的编译器把这个程序编译完成,你就得到了一个用 CNifeLang 实现的 CNifeLang 编译器。因为这个程序的功能与用 Golang 写的编译器完全相同,所以你完全可以用这个编译器去编译 CNifeLang,于是 CNifeLang 实现了 自举。

-----节选自知乎,作者:CNife

拓展:

golang(go)是一种过程编程语言,可用于快速机器代码编译。它是一种静态类型的编译语言。它提供了并发机制,可以轻松开发多核和联网的机器级程序。它是快速,动态类型和解释语言;它提供对接口和类型嵌入的支持。

特点

  • 语法简洁

    Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。Go语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for一种表示方法,就可以实现数值、键值等各种遍历。

  • 代码风格统一

    Go 语言提供了一套格式化工具——go fmt。一些 Go语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。

  • 执行性能好

    Go语言是一门编译型的语言,我们编写好的代码直接编译成服务器可以执行的二进制可执行文件。

  • 开发效率高

    Go语言虽然是一门编译型的语言,但是它内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。真正实现了开发效率和执行效率的完美结合。

  • 天生支持并发

    Go于2009年发布,当时多核处理器已经上市。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。

推荐学习:Golang教程

更多相关文章

  1. golang和go语言有区别吗?
  2. golang和哪种语言像?
  3. Go 语言和 Java 比较?
  4. 如何实现golang语言的多态
  5. go语言中一种常见的错误
  6. go语言中控制并发数量的方法
  7. golang是go语言吗?
  8. go语言中一些字符串操作介绍
  9. go语言通过命令方式生成可执行文件

随机推荐

  1. 修复 XE8 for Android 方向传感器 headin
  2. android发生主机无法解析错误的问题(
  3. Android 内存数据库
  4. Android(安卓)中sp、dp、px转换,以及获取
  5. 2011.06.21(2)——— android invalidate
  6. android 长按power键弹出对话框
  7. Android(安卓)Action静态广播收不到(系统
  8. android NoSuchMethodError getDrawable
  9. Android(安卓)简单实现自定义进度条
  10. 如何修改应用兼容Android 3.0系统