📜  Golang 和Dart 的区别

📅  最后修改于: 2021-09-11 04:05:51             🧑  作者: Mango

Go 是一种过程式编程语言。它由 Google 的 Robert Griesemer、Rob Pike 和 Ken Thompson 于 2007 年开发,但于 2009 年作为开源编程语言推出。程序是通过使用包来组装的,用于有效管理依赖关系。该语言还支持采用类似于动态语言的模式的环境。 Go 在语法上与 C 相似,但具有内存安全性、垃圾收集、结构类型和 CSP 风格的并发性。 Go 也被称为Golang。

Dart也是一种最初由 Google 开发的开源编程语言。它适用于服务器端和用户端。DartSDK带有其编译器-DartVM和这意味着生成JavaScript相当于一个Dart脚本,以便它可以在这些网站也不支持Dart运行的程序dart2js。 Dart支持面向对象的编程特性,例如类、对象、接口等。

Golang 与Dart

Go

Dart

Go is a concurrent and procedural programming language. Dart is an object-oriented programming language. 
Go is used for programming across large-scale network servers and big distributed systems. Dart is widely used with flutter to develop mobile applications nowadays.
Go does not contain classes with constructors and de-constructors. Dart does contain classes with constructors and de-constructors.
Go language provides automatic garbage collection for allocating memory. Garbage collection is performed automatically by the Dart VM.
Go language contains pointers, but does not contain arithmetic pointer. Dart also contains pointers and no arithmetic pointers.
In the Go language, the map is passed by reference. In Dart map is passed by value.
It does not support function overloading and also does not support user-defined operators. Dart also not support function overloading and also does not support user-defined operators.
It does not support constants or volatile qualifiers. Dart support constants and default values are not included in this list because future versions of Dart may support non-constant default values.
It does not use header files. Instead of the header file, go use packages. It uses import to import external packages Dart also use packages.
It does not have while or do-while statements. But for loop can be used as a while loop. Dart has while and do-while statements.
Go contains goroutines and channels. Dart/Flutter is single-threaded and not possible to share global variables.
Go does not support inheritance. But it provides an alternative in the form of Embedding. Dart supports inheritance.