news 2026/4/15 7:34:38

HoRain云--Go语言变量全解析:从入门到精通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--Go语言变量全解析:从入门到精通

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

🔧 变量声明与初始化详解

标准与批量声明

类型推导与短变量声明

📍 变量作用域

⚠️ 关键特性与注意事项

💎 总结


Go 语言中的变量是程序存储和操作数据的基础。下面这个表格汇总了核心的变量声明方式,帮你快速建立整体印象。

声明方式

语法

适用场景

示例

标准声明

var 变量名 类型

需要显式指定类型,或在函数外声明全局变量

var name string

批量声明

var ( 变量1 类型1 ... )

同时声明多个变量,使代码更简洁

见下方代码块

类型推导

var 变量名 = 值

初始化时省略类型,由编译器自动推断

var age = 18

短变量声明

变量名 := 值

函数内部的局部变量,简洁高效

name := "Alice"

🔧 变量声明与初始化详解

标准与批量声明

这是最基础的声明方式,可以在函数外定义全局变量。

// 单个声明 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) }

注意:短变量声明不能用于函数外部的全局变量。

📍 变量作用域

变量的作用域决定了其在代码中的可见范围。

⚠️ 关键特性与注意事项

  1. 变量必须先声明后使用:Go 语言是静态类型语言,编译阶段需要明确所有变量的类型。

  2. 变量必须被使用:在函数内部,声明了却未使用的局部变量会导致编译错误。这是 Go 语言为了保持代码简洁而做的设计。但全局变量允许声明而不使用。

  3. 短变量声明的重复赋值:在相同作用域下,不能再次使用:=对已声明的同名变量进行初始化(会报错no new variables)。但可以使用=进行赋值操作。

    func main() { x := 10 // x := 20 // 错误:'x' 已被声明 x = 20 // 正确:对已存在的变量 x 进行赋值 }
  4. 匿名变量:使用下划线_表示匿名变量,用于接收不需要使用的值(如函数返回的多个值中只想取一个)。它不占用命名空间,也不会分配内存。

💎 总结

希望这份梳理能帮助你清晰地掌握 Go 语言的变量使用。如果你对特定数据类型(如切片、映射)或常量的用法有进一步兴趣,我们可以继续探讨。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 11:35:15

RevokeMsgPatcher防撤回工具:轻松掌控完整聊天记录的实用指南

RevokeMsgPatcher防撤回工具:轻松掌控完整聊天记录的实用指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://git…

作者头像 李华
网站建设 2026/4/14 17:26:54

个人网盘管理|基于java+ vue个人网盘管理系统(源码+数据库+文档)

个人网盘管理 目录 基于springboot vue个人网盘管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue个人网盘管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/4/14 22:16:30

imaginAIry提示词解析器:革命性创意指令转译工具

imaginAIry提示词解析器:革命性创意指令转译工具 【免费下载链接】imaginAIry Pythonic AI generation of images and videos 项目地址: https://gitcode.com/gh_mirrors/im/imaginAIry 你是否曾因AI无法准确理解你的创作意图而感到沮丧?输入&quo…

作者头像 李华
网站建设 2026/4/5 18:28:08

看完就想试!用SenseVoiceSmall生成带表情的字幕

看完就想试!用SenseVoiceSmall生成带表情的字幕 1. 为什么普通字幕不够用了? 你有没有遇到过这样的情况:剪辑一段访谈视频,字幕只显示“他说了什么”,却完全看不出说话人是笑着调侃、严肃质问,还是突然被…

作者头像 李华