网站首页 > 文章精选 正文
引言
变量和常量是编程语言中最基本的概念之一。在 Go 语言中,变量用于存储数据,而常量则用于表示不可更改的值。本节将介绍如何在 Go 语言中声明和使用变量与常量。
1. 变量
- 声明变量:
- 使用 var 关键字声明变量。
- 示例:var age int = 30
- 等价于:var age int 然后 age = 30
- 简化声明:可以直接赋值来声明变量,省略 var 关键字。
- 示例:age := 30 (Go 会自动推断类型)
- 变量类型:
- 整型:int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr
- 浮点型:float32, float64
- 字符串:string
- 布尔型:bool
- 空接口:interface{}
- 复合类型:
- 数组:[5]int (固定长度数组)
- 切片:[]int (动态长度数组)
- 映射:map[string]int
- 结构体:struct { Name string; Age int }
- 核心类型:
- channel:chan T
- channel(管道)是Go中的一个核心类型,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)
- 初始化变量:
- 可以在声明时初始化变量。
- 示例:var name string = "Alice"
- 省略类型时,Go 会自动推断类型。
- 示例:name := "Alice"
- 零值:
- 如果变量未初始化,则会赋予零值。
- 示例:var age int (age 的值为 0)
- 示例:var name string (name 的值为空字符串 "")
- 多个变量声明:
- 可以在同一行声明多个变量。
- 示例:var name, age string = "Alice", "30"
- 短变量声明:
- 使用 := 运算符进行短变量声明。
- 示例:name, age := "Alice", 30
- 类型推断:
- 当使用 := 运算符时,Go 会根据初始化表达式的类型自动推断变量类型。
2. 常量
- 声明常量:
- 使用 const 关键字声明常量。
- 示例:const pi float64 = 3.14159
- 复合常量:
- 可以声明多个常量。
- 示例:const ( a, b = 1, 2 )
- 类型限制:
- 常量在声明时必须指定类型。
- 示例:const name string = "Alice"
- 常量表达式:
- 常量的值必须是编译时常量表达式。
- 示例:const oneThird = 1 / 3
- Unicode 字符:
- 常量可以是 Unicode 字符。
- 示例:const unicodeChar rune = '"a'
3. 示例代码
// https://go.dev/play/p/f1Lkt_qRfHQ
package main
import "fmt"
func main() {
// 变量声明和初始化
var name string = "Victor"
age := 30
fmt.Println("Name:", name)
fmt.Println("Age:", age)
// 多个变量声明
var (
firstName string = "John"
lastName string = "Doe"
)
fmt.Println("Full name:", firstName, lastName)
// 常量声明
const pi float64 = 3.14159
fmt.Println("Pi:", pi)
// 常量
const (
a, b = 1, 2
)
fmt.Println("a:", a, "b:", b)
}
猜你喜欢
- 2025-07-14 Go并发编程之WaitGroup(go语言 并发)
- 2025-07-14 golang企业微信告警(企业微信告警推送)
- 2025-07-14 2.8 Go语言中的for循环,break和continue
- 2025-07-14 Go语言Context包:最常用包之一的使用指南
- 2025-07-14 Go语言零到一:动态数组——切片(go语言的切片)
- 2025-07-14 2025-06-26:转换数组。用go语言,给你一个整数数组 nums,它被视
- 2025-07-14 go sync.Pool简介(go system)
- 2025-07-14 2025-07-13:统计特殊子序列的数目。用go语言,给定一个只包含正
- 2025-07-14 Go语言数据库编程:GORM 的基本使用
- 2025-07-14 2025-06-28:长度可被 K 整除的子数组的最大元素和。用go语言,给
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)