In Go, constants are used for values that should remain unchanged throughout the program. These are declared using the const
keyword, which ensures the value remains constant and read-only.
Syntax for Declaring Constants
The general syntax for defining a constant is:
const CONSTANT_NAME type = value
Note: A constant must always be assigned a value at the time of declaration.
Declaring a Constant
The following example demonstrates how to declare and use a constant in Go:
package main import ("fmt") const YAMAHA_PI = 3.14 func main() { fmt.Println(YAMAHA_PI) }
Rules for Constants
- Constants follow the same naming rules as variables.
- By convention, constant names are written in uppercase letters for better distinction from variables.
- Constants can be declared either inside or outside a function.
Types of Constants
Constants in Go can be categorized into two types: Typed Constants and Untyped Constants.
Typed Constants
Typed constants are defined with an explicit type.
Example:
package main import ("fmt") const HONDA_SPEED int = 120 func main() { fmt.Println(HONDA_SPEED) }
Untyped Constants
Untyped constants are declared without specifying a type. The compiler determines the type based on the assigned value.
Example:
package main import ("fmt") const SUZUKI_CC = 150 func main() { fmt.Println(SUZUKI_CC) }
Note: In this case, the type of the constant is inferred automatically by the compiler.
Constants: Unchangeable and Read-only
Once a constant is defined, its value cannot be altered. Attempting to do so will result in an error.
Example:
package main import ("fmt") func main() { const MAX_RIDERS = 2 MAX_RIDERS = 3 fmt.Println(MAX_RIDERS) }
Result:
./prog.go:8:7: cannot assign to MAX_RIDERS
Declaring Multiple Constants
To improve readability, multiple constants can be grouped into a block.
Example:
package main import ("fmt") const ( YAMAHA_PRICE int = 150000 HONDA_PRICE = 120000 SUZUKI_PRICE = "Affordable" ) func main() { fmt.Println(YAMAHA_PRICE) fmt.Println(HONDA_PRICE) fmt.Println(SUZUKI_PRICE) }