A Short Cyclopedia of Go

This book has been created as resource for people interested in the Go language within the context of computer science. The approach taken is to provide computer science and programming concepts, principles, definitions and explanations, and then to relate the language capabilities to each concept or principle. The content is assigned into separate chapters arranged alphabetically, thus this is a cyclopedia.



This book is written to provide support for a range of people, from beginning programmers who are being introduced to concepts of programming and computer science, up to experienced programmers who wish to compare and contrast Go with languages they already know.



This book very useful for people to whom English is a second language, and who need clear explanations of technical vocabulary that is not always well defined from other sources. The following computer science and programming concepts are covered:



Abstraction

Algorithm

Channels

Code Points

Composition

Concurrency

Condition Variables

Constants

Data Structures

Deadlock

Declarations

Dependency Management

Embedding

Encapsulation

Enumeration

Environmental Variables

Escape Analysis

First Class Citizen

Functions

Garbage Collection

Generics

Goroutines

Heaps

Inheritance

Interface

Immutability

Lexical Scope

Linked Lists and Slices

Literals

Logic

Mapping

Marshalling and Unmarshalling

Method Sets

Multiplexing

Mutex (Mutual Exclusion)

Package

Parallelism

Patterns

Periodicity

Polymorphism

Race Conditions

Recursion and Memoization

Reflection

Runes

Stacks

Templates

Types

Type Assertion

UTF-8



Some concepts relate to one another in conceptual clusters. For example: concurrency, parallelism, goroutines, and channels form a cluster; as do composition, ad hoc polymorphism, embedding, method sets, and interfaces; while literals, code points, runes, and UTF-8 form another cluster. Reference words are provided within this document to tie concepts with other concepts in a natural cluster. These words map to section titles and are in blue text.



Code examples are deliberately brief. They are provided only to illustrate a presented concept. All code examples have been tested and are compliant with Go version 1.11.1. There are a few additional code examples provided in Appendix II. These illustrate interesting programming features of the language that did not warrant a separate topic.

Book details

  • Authors:J.D. Tullis
  • Format:pdf
  • Size:1.30Mb
Get Download Link

Leave a Reply

Your email address will not be published. Required fields are marked *