🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 | 专栏介绍 |
《C语言》 | 本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
《网络协议》 | 本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
《docker容器精解篇》 | 全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
《linux系列》 | 本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
《python 系列》 | 本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
《试题库》 | 本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
⛳️ 推荐
专栏介绍
🔧 变量声明与初始化详解
标准与批量声明
类型推导与短变量声明
📍 变量作用域
⚠️ 关键特性与注意事项
💎 总结
Go 语言中的变量是程序存储和操作数据的基础。下面这个表格汇总了核心的变量声明方式,帮你快速建立整体印象。
声明方式 | 语法 | 适用场景 | 示例 |
|---|---|---|---|
标准声明 |
| 需要显式指定类型,或在函数外声明全局变量 |
|
批量声明 |
| 同时声明多个变量,使代码更简洁 | 见下方代码块 |
类型推导 |
| 初始化时省略类型,由编译器自动推断 |
|
短变量声明 |
| 函数内部的局部变量,简洁高效 |
|
🔧 变量声明与初始化详解
标准与批量声明
这是最基础的声明方式,可以在函数外定义全局变量。
// 单个声明 var count int var name string = "Go" // 批量声明 var ( a int b string = "hello" c bool )在声明时若未赋值,变量会被自动初始化为其类型的零值,例如整数为0,字符串为"",布尔值为false,指针、切片等为nil。
类型推导与短变量声明
在初始化时,可以省略类型,Go 编译器会根据等号右边的值自动推断变量类型。
var score = 95 // 编译器推断 score 为 int 类型在函数内部,可以使用更简洁的:=(海象运算符)进行声明和初始化。
func main() { city := "Beijing" // 声明并初始化局部变量 length := len(city) fmt.Println(city, length) }注意:短变量声明不能用于函数外部的全局变量。
📍 变量作用域
变量的作用域决定了其在代码中的可见范围。
局部变量:在函数内部或代码块(如
if、for)中声明。仅在所属的函数或代码块内有效。全局变量:在函数体外声明。首字母大写的全局变量可以被其他包访问(需先导入),首字母小写的则仅限当前包内使用。
命名冲突:当局部变量与全局变量同名时,在局部作用域内,局部变量优先。
⚠️ 关键特性与注意事项
变量必须先声明后使用:Go 语言是静态类型语言,编译阶段需要明确所有变量的类型。
变量必须被使用:在函数内部,声明了却未使用的局部变量会导致编译错误。这是 Go 语言为了保持代码简洁而做的设计。但全局变量允许声明而不使用。
短变量声明的重复赋值:在相同作用域下,不能再次使用
:=对已声明的同名变量进行初始化(会报错no new variables)。但可以使用=进行赋值操作。func main() { x := 10 // x := 20 // 错误:'x' 已被声明 x = 20 // 正确:对已存在的变量 x 进行赋值 }匿名变量:使用下划线
_表示匿名变量,用于接收不需要使用的值(如函数返回的多个值中只想取一个)。它不占用命名空间,也不会分配内存。
💎 总结
首选短变量声明:在函数内部,优先使用
:=,简洁明了。明确类型用标准声明:需要显式指定类型或声明全局变量时,使用
var。注意作用域:区分全局和局部变量,理解同名变量时的“就近原则”。
遵守使用规则:确保变量被使用,避免不必要的声明。
希望这份梳理能帮助你清晰地掌握 Go 语言的变量使用。如果你对特定数据类型(如切片、映射)或常量的用法有进一步兴趣,我们可以继续探讨。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙