How to use constants in Golang

What is a Constant or Const in Golang ? Here are the things you need to know about using constants in Go .

As the name suggests, constant means fixed. In programming languages, it means once the value of a constant is defined, it cannot be modified further. There can be any basic data type of constant like integer constant, dynamic constant, character constant or string.

How to use constants in Golang

Declaration: Constants are declared like variables but use the keyword const as a prefix to declare a constant with a specific data type. Constants cannot be declared using the syntax “: = ”.

For example:

package main

import "fmt"

const PI = 3.14

func main() 
{
	const GFG = "Quantrimang"
	fmt.Println("Hello", GFG)

	fmt.Println("Happy", PI, "Day")

	const Correct= true
	fmt.Println("Go rules?", Correct)
}

Result:

Hello Quantrimang
Happy 3.14 Day
Go rules? true

Things to know about constants in Golang

Numeric constants without type and with type

Typed constants work like immutable variables that can only interact with the same type, and untyped constants work like literal constants that can interact with similar types. Constants can be declared with or without a type in Go. Here are examples showing typed and untyped, named and unnamed numeric constants.

const untypedInteger          = 123
const untypedFloating          = 123.12

const typedInteger  int             = 123
const typedFloatingPoint   float64  = 123.12

Here is the list of constants in Go Language:

  • Constants (Integer Constants, Dynamic Constants, Complex Constants)
  • String of characters
  • Boolean constant

Number constant

Numeric constants are high-precision values. Since Go is a statically typed language, it does not allow operations that combine numeric types. You cannot add float64, intor even int32to int. However, it is still valid to write 1e6*time.Secondor math.Exp(1)or even 1<>. In Go, constants, unlike variables, behave like regular numbers.

Numeric constants are of three types:

  1. integer
  2. floating point
  3. complex

Integer constant:

  • The prefix specifies the base: 0x or 0X for hexadecimal, 0 for octal, and nothing for decimal.
  • An integer literal can also have a suffix that is a combination of U (uppercase) and L (lowercase), for unsigned and long respectively.
  • It can be a decimal, octal or hexadecimal constant.
  • An int can store up to a 64-bit integer and sometimes less.

Here are some examples of Integer Constants:

85 /* thập phân */
0213 /* bát phân */
0x4b /* thập lục phân */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
212 /* Hợp lệ */
215u /* Hợp lệ */
0xFeeL /* Hợp lệ */
078 /* Không hợp lệ: 8 không phải là chữ số bát phân */
032UU /* Không hợp lệ: không thể lặp lại hậu tố */

Complex constants:

A complex constant works very similar to a floating point constant. It is an ordered pair or real number of an integer constant (or parameter). And the constants are separated by commas, and the pair of numbers are enclosed in parentheses. The first constant is the real part, and the second constant is the imaginary part. A complex constant, COMPLEX*8, uses 8 bytes of storage.

For example:

(0.0, 0.0) (-123.456E+30, 987.654E-29)

Dynamic type constant:

  • Real number constants have an integer part, a decimal part, a fractional part, and an exponent part.
  • Can be represented as a real constant in decimal or exponential form.
  • When expressed in decimal form, it must include a decimal point, an exponent, or both.
  • And when expressed in exponential form, it must include an integer part, a fractional part, or both.

For example:

3.14159 /* Hợp lệ */
314159E-5L /* Hợp lệ */
510E /* Không hợp lệ: số mũ không đầy đủ */
210f /* Không hợp lệ: không có số thập phân hoặc số mũ */
.e55 /* Không hợp lệ: thiếu số nguyên hoặc phân số */

String of characters

  • Go supports two types of string literals, i.e. ” ”(double quote style) and ‘ ‘(backward quote style).
  • +Strings can be concatenated with the and operators +=.
  • Strings contain the same characters as literal characters: plain characters, escape sequences, and universal characters. And this is a character without a type.
  • The zero value of string types is the empty string, which can be represented by ” ”or in literals.
  • All string types can be compared using operators like ==, !=and (to compare similar types)

Syntax:

kiểu _string struct {
các phần tử *byte // các byte cơ bản
len int // số byte
}

For example:

"hello, quantrimang" 

"hello, \ 

quantrimang" 

"hello, " "quan" "trimang" 

Here, all three statements are same, that is, they do not have any specific type.

For example:

package main

import "fmt"

func main()
{
	const A = "GFG"
	var B = "GeeksforGeeks"
	
	// Chuỗi Concat.
	var helloWorld = A+ " " + B
	helloWorld += "!"
	fmt.Println(helloWorld) 
	
	// Chuỗi so sánh.
	fmt.Println(A == "GFG") 
	fmt.Println(B < a)="">

Result:

GFG Quantrimang!
true
false

Time complexity: O(1)
Auxiliary space: O(1)

Boolean constant

Boolean constants are similar to string constants. They follow the same rules as string constants. The only difference is that they have two non-type consts, trueand false.

package main

import "fmt"

const Pi = 3.14

func main() 
{
	const trueConst = true
	
	// Định nghĩa kiểu bằng từ khóa type
	type myBool bool 
	var defaultBool = trueConst // được phép
	var customBool myBool = trueConst // được phép
	
	// defaultBool = customBool // không được phép
	fmt.Println(defaultBool)
	fmt.Println(customBool) 
}

Result:

true
true

Time complexity: O(1)
Auxiliary space: O(1)

Constants in Go: Go has character, string, Boolean and numeric constants. Const declares a constant value. A statement that constcan occur when there is a variable and thus, performs arithmetic operations without any fixed precision.

// Minh họa hằng số bằng cách dùng go.
package main

import (
	"fmt"
	"math"
)

const s string = "Quantrimang"

func main() {
	fmt.Println(s)

	const n = 5

	const d = 3e10 / n
	fmt.Println(d)

	fmt.Println(int64(d))

	fmt.Println(math.Sin(n))
}

Result:

Quantrimang
6e+09
6000000000
-0.9589242746631385

Time complexity: O(1)
Auxiliary space: O(1)

If you want to define multiple constants at once, you can do so using a block of parentheses as shown below.

package main

import "fmt"

const (
	GFG	 = "Quantrimang"
	Correct = true
	Pi	 = 3.14
)

// Hàm chính
func main() {

	fmt.Println("value of GFG : ", GFG)

	fmt.Println("value of Correct : ", Correct)

	fmt.Println("value of Pi : ", Pi)
}

Result:

value of GFG :  Quantrimang
value of Correct :  true
value of Pi :  3.14

Leave a Comment

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Remote Work Ergonomics in 2026: Upgrade Your Home Office Without Overbuying

Remote Work Ergonomics in 2026: Upgrade Your Home Office Without Overbuying

Upgrade your home office ergonomics with current OSHA and NIOSH guidance on chair fit, monitor height, laptop setup, lighting, and movement.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.

How to Transition to a Tech Career Without a Degree: A Results-First Roadmap for 2026

How to Transition to a Tech Career Without a Degree: A Results-First Roadmap for 2026

A practical roadmap for moving into tech without a degree: choose an accessible role, build job-ready skills, prove them with projects, and use hiring feedback to improve.

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Building a Personal Brand on LinkedIn in 2026: What Still Works, What Changed, and What to Ignore

Build a credible LinkedIn personal brand in 2026 with current profile, content, newsletter, analytics, verification, and visibility guidance from LinkedIn.

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet quitting and quiet firing are catchy labels, not diagnoses. Learn what is verified, what depends on context, and what employees and managers can do next.

The Rise of the Fractional Executive: When Part-Time C-Suite Leadership Makes Sense

The Rise of the Fractional Executive: When Part-Time C-Suite Leadership Makes Sense

Fractional executives offer senior leadership without a full-time hire. Learn when the model works, what to ask, and the risks to manage.

How to Negotiate a Raise During Q4 Performance Reviews: A Practical 2026 Decision Guide

How to Negotiate a Raise During Q4 Performance Reviews: A Practical 2026 Decision Guide

Prepare a stronger Q4 raise request with current wage data, timing options, compensation tradeoffs, and scripts for yes, partial, or no outcomes.

6 High-Income Skills You Can Start Learning Before 2026 Ends

6 High-Income Skills You Can Start Learning Before 2026 Ends

Choose a high-income skill you can realistically start before 2026 ends, with current pay data, learning priorities, and a practical self-check.

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Build a hybrid work schedule around tasks, team overlap, and measurable outcomes. See sample patterns, warning signs, and when to adjust your plan.