Go Variables
Links:
- 103 Golang Index
- Go - Basics
Variables in GO¶
- Variables belong to runtime
- Example:
x,y := 6,0; fmt.Printf(x/y)- This will throw run time error.
- Example:
- In GO all variables are initialised. So even if you don't initialise the declared variables they will get a default type. Example:
var value int; fmt.Println(value)- 0- integer =
0 - float =
0.0 - bool =
false - string =
""(empty string) - pointer =
nil
- integer =
- Multiple statements can be separated in Go using
; - There are 2 ways of declaring variables in Go.
varkeyword:- Syntax:
var var_name type-var test string var age int = 10- type can be omitted as it can be inferred by Go during compile time hence we can omitinthere.var name = "test"
- Syntax:
- walrus operator (
:=): declaring and initialisings := "hello"- Cannot be used for already defined variables
- Walrus operator only works in block scope. Can't be used at package scope (outside main or any other function)
Type of a variable cannot be changed once declared.
Unused variables generate compile time errors.
This can be solved by using _ which is used to mute the compiler. It is always used on the left hand side.
var name = "test"; _ = name
- Use
varor walrus operator if you want to create variables. If you want to change the value of variables then use=.name = "hello"where name has been created.
You cannot redeclare variables in a block.
Multiple Declaration¶
- Multiple variable declaration:
car, price := "audi", 3900- Cannot be used to redefine variables unless one of the variables is new
car, price := "audi",399; car, price := "test", 343- this would give an errorcar, price := "audi", 455; car, new_var := "test", true- this is fine- The second statement is equivalent to
car = "test";var new_var = true
- The second statement is equivalent to
- Cannot be used to redefine variables unless one of the variables is new
- Multiple declaration using var
var a, b int: concise way- Tuple assignment:
var a, b; a, b = "test", 65.
- Tuple assignment:
- The below syntax is good for readability
We use multiple variable declaration using walrus operator when we know the value of variables otherwise we use the var.
Last updated: 2022-05-28