Go语言常量

目录

前言:

1、const声明常量

2、一次声明多个常量


前言:

这次来学习一下Go语言中的常量,在上一期中我学习了Go语言中的变量,如果有兴趣可以看看我往期的文章,或者点击Go语言声明变量

相对于变量,常量的意思就是恒定不变的量,定义在程序运行期间不会改变的值,常量和变量的声明非常相似,只不过把var换成了const,常量在定义的时候必须赋值。

1、const声明常量

const声明常量的方式和var声明变量的方式非常相似,代码如下:

Go 复制代码
package main

import "fmt"

func main() {
	// 常量
	const pi = 3.14159
	fmt.Println(pi)
}

常量是需要在定义时就必须赋值的,错误示范如下:

Go 复制代码
	// 错误写法
	const pi float64
	pi = 3.14159
	fmt.Println(pi)

当然也是不能重新赋值的,因为常量是恒定不变的值,不能发生改变。错误示范如下:

Go 复制代码
	const pi = 3.14159
	pi = 3.14 // 不能修改常量的值
	fmt.Println(pi)

2、一次声明多个常量

声明多个常量和声明多个变量的方式基本一致,但要注意的是,因为声明常量是需要在定义时就赋值,因此就只能使用 const (常量名称 = 值) 这种写法,就没有var声明多个变量的方式多。d代码如下:

Go 复制代码
	// 一次声明多个常量
	const (
		A = "A"
		B = "B"
		C = 1
	)
	fmt.Println(A, B, C)

const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。代码如下:

Go 复制代码
	//  const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
	const (
		n1 = 100
		n2
		n3 = 200
		n4
	)
	fmt.Println(n1, n2, n3, n4) // 100 100 200 200
相关推荐
人间凡尔赛7 分钟前
当 AI Agent 攻陷网关:Istio agentgateway 与 Gateway API Inference Extension 实战解析
后端·云原生·架构
北冥you鱼8 分钟前
深入解析 Go 中 sync.YAML.Unmarshal:如何将 YAML 数据填充到 Config 结构体
开发语言·算法·golang
wwwzhouzy10 分钟前
SpringBoot 响应式编程
java·spring boot·后端·响应式编程
Python私教15 分钟前
请求超时不等于失败:把写操作恢复设计成事实回读
后端·python
goldbin_zhang_xu19 分钟前
我用 Go 重写了一个 OpenClaw 框架:这就是 GoClaw
开发语言·后端·golang·agent框架·goclaw·双循环机制
IT_陈寒19 分钟前
Redis的KEYS命令差点把我的生产环境拖垮,改用SCAN吧
前端·人工智能·后端
lingran__19 分钟前
C++ STL map 与 set 底层剖析与模拟实现万字详解|基于红黑树,复刻 SGI-STL 泛型复用架构
开发语言·c++·stl·set·map·泛型编程·sgi-stl
野生技术架构师20 分钟前
Multi-agent的新趋势,从Agent Team到Agent Swarm
开发语言·人工智能
冰夏之夜影22 分钟前
【解决方案】SpringBoot项目添加ssl证书后不生效问题
spring boot·后端·ssl
Bonnie_121523 分钟前
10-深入理解ConcurrentHashMap(JDK1.8)
java·开发语言