Types, Identifiers and other basics

ยท

2 min read

Types, Identifiers and other basics

Understanding Various Types in Go Lang

In Go, almost everything is treated as a type, offering a strong foundation for building robust and efficient programs. Let's explore the various types available in Go:

Identifiers in Go

In Go, an identifier is a name used to identify variables, functions, or any other user-defined items. Identifiers follow a specific pattern:

identifier = letter { letter | unicode_digit }

Here are some rules regarding identifiers in Go:

  • It starts with a letter A to Z or a to z, or an underscore _.

  • It can be followed by zero or more letters, underscores, and digits (0 to 9).

  • Punctuation characters such as @, $, and % are not allowed within identifiers.

  • Go is case-sensitive, meaning Manpower and manpower are treated as different identifiers.

Here are some examples of valid identifiers in Go:

mahesh      kumar   abc   move_name   a_123
myname50   _temp    j      a23b9      retVal

Whitespace in Go

Whitespace in Go refers to blanks, tabs, newline characters, and comments. Here's how whitespace is treated in Go:

  • A line containing only whitespace, possibly with a comment, is known as a blank line, and the Go compiler completely ignores it.

  • Whitespace characters separate different parts of a statement, allowing the compiler to distinguish between elements.

  • While whitespace characters are not strictly necessary between certain elements in a statement, they can be used for readability purposes.

For example, consider the following statements:

var age int;

Here, at least one whitespace character (typically a space) is required between int and age for the compiler to distinguish them.

However, in this statement:

fruit = apples + oranges;   // get the total fruit

No whitespace characters are necessary between fruit and =, or between = and apples, although they can be included for readability.

Understanding how whitespace functions in Go is essential for writing clean and understandable code.

ย