Go Language: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 18: Line 18:


[[Go Language Modularization]]
[[Go Language Modularization]]
=Modularization=
In Go, programs are constructed from packages. More details: {{Internal|Go Language Modularization|Go Modularization}}


=TO DEPLETE and MERGE into THIS DOCUMENT=
=TO DEPLETE and MERGE into THIS DOCUMENT=

Revision as of 22:18, 14 August 2023

External

Internal

Overview

Go Language Specification document defines Go as a general-purpose compiled language designed with systems programming in mind. It is strongly typed and garbage-collected and has explicit support for concurrent programming. Programs are constructed from packages, whose properties allow efficient management of dependencies. The existing implementations use a traditional compile/link model to generate executable binaries.

Go declarations can be read "naturally" from left to right, which makes it easy to read.

These are several reasons to use Go: concurrency is a fundamental part of the language, the standard library has almost everything one needs, it is a terse language and "feels" dynamically typed, but it compiles straight into machine code, it compiles fast, and it runs fast.

Type

To deplete Go Concepts - The Type System

Go is a strongly and statically typed language with no implicit conversions. This gives Go a stronger type safety than Java, which as implicit conversions, but the code reads more like Python, which has untyped variables.


Go Language Modularization

Modularization

In Go, programs are constructed from packages. More details:

Go Modularization

TO DEPLETE and MERGE into THIS DOCUMENT

These are documents produced by the previous attempt. Process, merge into this document, and deplete: