ALL >> Computer-Programming >> View Article
Mastering Go: Guide To Type Declarations, Variables, And Constants
Constants in Go
In Go, constants are fixed values that are known at compile time and remain unchanged throughout the program’s execution. They are defined using the const keyword and can be of basic types like integers, floats, strings, and booleans. Constants help improve code readability and maintainability by ensuring certain values remain consistent.
Declaring Constants
Constants are declared using the const keyword, followed by the constant's name, type, and value. The type can often be omitted because Go infers it from the assigned value.
const Pi float64 = 3.14159
const Greeting = "Hello, World!"
const DaysInWeek = 7
const IsTrue = true
Grouping Constants
You can group constants using parentheses, which is useful for organizing related constants.
const (
Pi = 3.14159
Greeting = "Hello, World!"
DaysInWeek = 7
)
Untyped Constants
Go allows untyped constants, which do not have a fixed type until they are used in a context that requires a specific type. This provides flexibility.
const Pi = 3.14159 // untyped ...
... constant
var radius float64 = 10
var circumference = 2 * Pi * radius // Pi is used as a float64 here
Enumerated Constants
Enumerated constants are a way to create a sequence of related constants, often using the iota keyword, which simplifies creating incrementing values.
const (
Sunday = iota // 0
Monday // 1
Tuesday // 2
Wednesday // 3
Thursday // 4
Friday // 5
Saturday // 6
)
The iota keyword represents successive integer constants starting from 0 and resets to 0 whenever the const keyword appears.
Constants with Expressions
Constants can be defined using expressions as long as the result is a compile-time constant.
const (
SecondsInMinute = 60
MinutesInHour = 60
HoursInDay = 24
SecondsInDay = SecondsInMinute * MinutesInHour * HoursInDay // 86400
)
Limitations of Constants
Immutable: Constants cannot be changed once defined.
Compile-Time: The value of a constant must be known at compile time.
Basic Types Only: Constants can only be of basic types. More complex types like slices, maps, and structs cannot be constants.
Practical Usage of Constants
Constants are often used to define values that are used multiple times in the code, such as configuration settings, fixed dimensions, or commonly used strings.
package main
import "fmt"
const (
Pi = 3.14159
AppName = "MyApp"
MaxUsers = 100
WelcomeMsg = "Welcome to MyApp!"
)
func main() {
fmt.Println(AppName, "allows up to", MaxUsers, "users.")
fmt.Println(WelcomeMsg)
fmt.Printf("The value of Pi is approximately %.2f\n", Pi)
}
Add Comment
Computer Programming Articles
1. How Load Balancing Routers In India Ensure Stable, Fast ConnectivityAuthor: shivani
2. Top Features To Include In A Modern Crypto Exchange Platform
Author: Lily Rose
3. Feature-rich, Future-ready: Why Businesses Trust Logitrac360 To Stay Ahead
Author: LogiTrac360
4. Top Web Development Institutes In Bhopal For Career-driven Learners
Author: Kabir Patel
5. Why Progressive Web Apps (pwas) Are The Future Of Mobile Experiences
Author: Aimbeat Insights
6. Unlocking Community Gold: How Reddalyze Makes Subreddit Research & Marketing Tools Work For You
Author: Taylor
7. Top Web Development Institutes In Bhopal That Shape Future Developers
Author: Kabir Patel
8. Your Complete Bugzilla Tutorial For Managing Software Bugs Efficiently
Author: Tech Point
9. From Beginner To Expert: Ultimate Jira Tutorial For Effective Team Collaboration
Author: Tech Point
10. Top Web Development Institutes In Bhopal: Where Creativity Meets Technology
Author: Kabir Patel
11. The Ultimate Framework Showdown: Which One Will Reign Supreme
Author: Andy
12. Why Your Competitors Are Investing In Custom Software (and You Should Too)
Author: Aimbeat Insights
13. The Hidden Security Risk Of Ssh Keys: Why Manual Linux Access Management Is A Ticking Time Bomb
Author: Tushar Pansare
14. Beyond Ticketing: Using Laravel And N8n To Automate Customer Onboarding Workflows
Author: Andy
15. Top Web Development Institutes In Bhopal: Turning Ideas Into Code
Author: Kabir Patel






