Go语言基础:常量与变量详解

陆景行
陆景行
发布时间:2026-10-13| 3人浏览过
原创

Go语言中的常量指在程序执行期间不可修改的固定值,变量则是用于存储数据的命名存储区域。本文梳理了Go中常量(整数、浮点、字符串及转义序列)的定义规范,以及变量的声明方式(显式类型与短变量运算符推断),结合代码实例帮助读者快速掌握基础语法。

结果或目标

理解Go语言的常量与变量机制,能够正确使用 const 关键字定义常量,并通过 var 或 := 运算符声明和初始化变量,同时区分不同数据类型的表示法。

准备条件

  • 已安装 Go 环境(如 Go 1.17+)。
  • 基本的文本编辑器或 IDE(如 VS Code)。
  • 了解基础的命令行操作,以便编译运行代码。

真实操作顺序

第1步:掌握常量的定义与表示

目的: 定义程序中不需要改变的数据,提升代码可读性与安全性。

动作与参数: 使用 const 关键字,后接变量名、类型(可选)和值。Go 支持多种数值常量格式:

  • 整型常量: 支持十进制、八进制(前缀 0)和十六进制(前缀 0x/0X)。后缀可包含 U(无符号)、L(长整型)等组合,但不允许重复。
  • 浮点常量: 包含小数部分或指数部分(e/E)。形式如 3.14159 或 314159E-5L。
  • 字符串与转义: 字符串用双引号包裹。可使用反斜杠 \ 开头的转义序列,如 \t (制表符)、\n (换行)。

常用转义序列参考:

代码示例:定义并使用常量

package main

import "fmt"

func main() {
	// 使用 const 定义常量
	const LENGTH int = 10
	const WIDTH int = 5
	
	// 测试转义字符
	fmt.Printf("Hello\tWorld!\n")
	
	// 计算面积
	var area int
	area = LENGTH * WIDTH
	fmt.Printf("value of area : %d\n", area)
}

第2步:学习变量的基本声明

目的: 创建可被程序操作的内存空间来存储数据。

入口与动作: Go 是静态类型语言,变量定义需指定类型。标准语法为 var name type。也可以一次性声明多个同类型变量。

重要参数:

  • var:声明关键字。
  • type:如 int, float64, string, byte 等。若未指定类型,编译器可能报错或要求后续赋值时推断。

代码示例:显式类型声明

package main

import "fmt"

func main() {
	var x float64
	x = 20.0
	fmt.Println(x)
	fmt.Printf("x is of type %T\n", x) // %T 输出具体类型
}

第3步:应用类型推断(动态声明)

目的: 简化声明过程,减少冗余代码,让编译器自动识别变量类型。

动作: 使用短变量声明运算符 :=。这是 Go 中最常用的变量定义方式,尤其在函数内部。它要求必须同时提供初始值。

代码示例:类型推断混合声明

package main

import "fmt"

func main() {
	// 静态声明
	var a float64 = 20.0
	
	// 动态推断:根据值 42 自动判断为 int
	b := 42 
	
	// 混合不同类型的一次性声明
	var c, d, e = 3, 4, "hello"
	
	fmt.Printf("a type: %T, b type: %T, c type: %T\n", a, b, c)
}

完成判断

当你能成功编写并运行上述代码,且控制台正确打印出预期的数值、类型(%T)结果(如 x is of type float64)以及格式化后的字符串时,即表明已掌握 Go 常量与变量的核心用法。

原文有依据的排错

如果尝试将数值直接赋给字面量(如 10 = 20),编译器会抛出错误。这是因为左值(lvalue,如变量名)必须是可修改的内存位置,而右值(rvalue,如数字字面量)仅仅是数据值,不能作为赋值的目标。

注意: 原稿中提到的 Go 基本变量类型图示如下:

简要总结

Go语言通过对常量(不可变)和变量(可变)的严格类型管理,确保了程序的稳健性。开发时应优先使用 const 定义不变量,在函数内利用 := 进行简洁的类型推断,而在包级别或需要明确控制时则使用 var 显式声明。以上就是Go语言基础中常量与变量的详细内容,更多关于Go编程入门的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。