目录

  • 什么是静态型,优缺点。
  • 什么是编译型,优缺点。
  • JIT ( just in time )
  • 交叉编译

Golang是一种静态型、编译型并自带垃圾回收和并发的编程语言。
-- 《Go语言从入门到进阶实战》

什么是静态型,优缺点。

  1. 静态语言在使用变量之前,需要为它们分配好内存。不同数据类型的变量不允许直接赋值,它们的数据类型是在编译期间检查的。
  2. 动态语言是在程序运行期间进行数据类型检查,不需要给变量指定数据类型。

动态语言健壮性相对较弱。

什么是编译型,优缺点。

  1. 运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。
  2. 编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等.
  3. 而相对的,解释性语言编写的程序不进行预先编译,以文本方式存储程序代码。在发布程序时,看起来省了道编译工序。但是,在运行程序的时候,解释性语言必须先解释再运行。

编译型语言相当于只编译了一次。(越来越多的解释型编程语言运行环境开始支持JIT,Go这种编译带来的性能优势没那么明显)
解释型语言跨平台效果更好。(运行编译好的Go程序不需要安装类似jdk,node这样的环境,Go提供了原生的交叉编译支持,跨平台的开发和部署十分方便。)

JIT ( just in time )

即时编译器技术,能够加速 Java 程序的执行速度。

go编译动态库 ios_Go

交叉编译

可以运行在不同的操作系统。同一操作系统,不同的体系结构。