Golang语言特性

179 阅读1分钟

Golang语言特性

引言

学习一门语言,首先得简单了解一下新语言的特点,或者哪些特性,甚至可以和其他语言进行对比,比如Java

特性

在这里,将Golang和Java进行简单的特点对比,方便观察。其表格如下:

特性项GolangJava
动、静特性静态语言,支持运行时动态类型静态语言
强、弱特性强类型强类型
隐式类型推导支持不支持
类型安全
面向对象支持类型组合支持支持面向对象类/接口
接口Duck模型显示声明
多态通过接口支持接口及继承关系支持
泛型目前不支持,后期版本支持支持
反射支持支持
编译模型编译成可执行程序编译成中间字节码
运行模式直接运行虚拟机运行
内存管理支持自动垃圾回收支持自动垃圾回收
并发支持协程Java线程
跨平台支持原生跨平台

总结

编程语言的学习也可以归纳为两个过程:

  1. 尽量利用已经掌握的编程语言,将新语言和已掌握语言的语法进行对比,梳理出相同点和不同点,建立知识间的连接,从而快速掌握新语言的语法知识。
  2. 语言特性上对比新旧语言,新语言一般只是语法新,大多数语言的特性都大同小异,语言特性具有通用性。

参考:

定期更新go-notes