【golang中的变量 全局/局部/4中声明】

news/2025/2/7 8:41:39/

目录

  • 变量
  • 变量的分析
  • 1.变量的创建的四种形式
    • 1.1总结
    • 1.2第一种 var a int 声明
    • 1.3 第二种 var a string = "XXXX" 初始化
    • 1.4第三种 var a = "XXXX"
    • 1.5第四种 a := XXXX
  • 2.一次性声明多个变量
  • 3.一次初始化多个变量
    • 3.1交换值
  • 4.全局变量--局部变量
  • 5. 声明和初始化的区别
  • 常见变量

变量

变量是计算机存储和操作数据的一种方式。可以把它想象成一个标记,类似于一个容器,在内存中存储某个值或数据,并可以对其进行读取、修改或删除等操作。

在编程中,声明一个变量就相当于创建了一个容器并给它赋予了一个名称,以便随时引用这个容器中的值或数据。这样可以方便地使用和管理数据,同时也避免了重复输入数据的麻烦。

例如,要存储一个人的姓名,可以创建一个名为“name”的变量,并将其赋值为该人的姓名,这样就可以在程序中随时调用这个变量来使用这个姓名,而不需要每次都重新输入。

总之,变量是计算机编程中的基本概念,帮助我们在程序中存储和操作数据。

变量的分析

在这里插入图片描述
修改
在这里插入图片描述
也有那种独特理解
在这里插入图片描述
变量就是你的房间号 308 309 401
变量的类型就是房间的种类 单人间 双人间 大豪房
房间的值 就是所住的人 或是 所放的物品

1.变量的创建的四种形式

1.1总结

var a int   //不给值    声明
var a int =12 //手动补充类型  初始化
var a = 12 //自动补充类型   初始化
a := 12   //省略var 和类型  自动补充类型  初始化

1.2第一种 var a int 声明

这只是声明了一种变量 但是变量没有值 系统会分配默认值

fmt.Printf("\n----------var b string---------------\n")
var b string
fmt.Printf("%s",b) //  只声明 不赋值  就会默认值  空
var a int
fmt.Printf("%d",a) //  只声明 不赋值  就会默认值  0

1.3 第二种 var a string = “XXXX” 初始化

这只是声明了一种变量 而且给了值
这就是我们所说的初始化

fmt.Printf("\n----------var b string=xx---------------\n")
var str string = "hello"
fmt.Printf(str)
var str1 string = 12  //类型不比配 报错
fmt.Printf(str1)

需要注意的是:
当类型是string 是无法接受其他类型的 否则就会报错
比如:

var str1 string = 12  
定义了string 但是给了数值12  会报错的

1.4第三种 var a = “XXXX”

这种方式 很常用的 不要要声明类型 直接赋值
程序会根据值 来判断类型

fmt.Printf("\n----------var b =xx---------------\n")
var num = 12;
fmt.Println(num)
var num1 = "我爱你"; //可以不用声明类型 自动识别
fmt.Println(num1)

1.5第四种 a := XXXX

这种方式go独有的 很厉害 也很常用
a := xx
省略的var 关键词 还自动分配数据类型

fmt.Printf("\n----------b := xx---------------\n")
name := "jack" //省略 var 和 类型
fmt.Println(name)
money := 16545646 //省略 var 和 类型
fmt.Println(money)

2.一次性声明多个变量

在一行中声明 多个变量

//2.一次性声明多个变量
var hobby1,hobby2,hobby3,hobby4 int
fmt.Println(hobby1)
fmt.Println(hobby2)
fmt.Println(hobby3)
fmt.Println(hobby4)

3.一次初始化多个变量

//3.一次性初始化多个值
//方式一
//var girl,age,hobby,knowledge = "新垣结衣",18,"拍照","本科"
//方式二
girl,age,hobby,knowledge := "新垣结衣",18,"拍照","本科"
fmt.Println(girl)
fmt.Println(age)
fmt.Println(hobby)
fmt.Println(knowledge)

3.1交换值

//交换值
xxx,yyy:= 12,45
fmt.Println(xxx)
fmt.Println(yyy)xxx,yyy = yyy,xxx
fmt.Println(xxx)
fmt.Println(yyy)

4.全局变量–局部变量

//局部棉量就是 在函数或是{}中的变量
//全局变量 不在函数中

package mainimport "fmt"
//---------------------------全局变量  不存在任何函数当中-------------//
var cont11 = "12"
var cont22 = "12"
var cont33 = "12"//此处可以定义   全局的变量-----函数外面的变量
//上面的声明  作者为了统一这些外部变量 创建以下方式
var (cont1 = "12"cont2 = "12"cont3 = "12"
)func main() {fmt.Println(cont1)fmt.Println(cont2)fmt.Println(cont3)areaone(45)//函数外的变量  文件中的变量----全局fmt.Println(cont33)//函数中的变量------局部var xx = "我是main中的局部变量"fmt.Println(xx )//{} 的局部变亮//{//	var xx = 77//}//fmt.Println(xx)}
func areaone(a int)  {//-----------------------------局部变量 函数中的变量var c = "我是局部在函数中的"fmt.Println(a)fmt.Println(c)
}

从数据结构的角度分析局部变量 — 全局变量

> 如果从数据结构的 方面讲解局部变量 — 全局变量
> 函数的执行 都会进行压栈的操作 栈顶的函数会创建一个空间 创建函数中的
> var 变量 当函数执行完后 就会进行 出栈的操作 此时函数创建的变量都会销毁
> 所以函数中的变量都是局部性的
> 下次执行在重新压栈
> 而在文件.go中不属于任何的函数变量 会一直存在 所以可以全局使用 任何函数都可使用

5. 声明和初始化的区别

声明----只创建 没有值
在这里插入图片描述

初始化--------创建就赋值
在这里插入图片描述

常见变量

在这里插入图片描述


http://www.ppmy.cn/news/555376.html

相关文章

数据库与身份认证

一、目标 能够知道如何配置MySQL数据库环境能够认识并使用常见的SQL语句操作数据库能够在Express中操作MySQL数据库能够了解Session的实现原理能够了解JWT的实现原理 二、目录 数据库的概念安装并配置MySQLMySQL的基本使用在Express中操作MySQL前后端的身份认证 1.数据库的基…

数码摄影机里回放的照片展示模板

在我们一起编的网站里,不同类型的照片展示模板有很多,下面小编来给大家介绍,一款一直在数码摄像机里回放图片的相册模板,整个模板看起来节奏适当,都是用数码相机照出来的图片,里面的效果都很不错。一直都是…

Capture One Pro 12.0.3 中文特别版 Mac 专业数码摄影师RAW转换照片编辑软件

这是一款Mac平台的RAW转换器和照片编辑软件,是出色的 raw 格式图像转换器,凭借对主流高端相机的支持,能够准确渲染图像色彩以及惊人的图像细节。它将灵活的数字资产管理、所有必需的调整工具以及快速的响应性整合到一款可定制的集成解决方案中…

[转]关于数码摄影的几个误区

转自色影无忌 http://article.xitek.com/showarticle.php?id2562 关于数码摄影的几个误区 作者:d100fans 发表时间:2005.5.6 1 数码单反相机不适合风景照   这是一个经久不衰的热门争议问题。这个问题的要害在于你要多好的风景照?一旦…

Matplotlib---热力图

1. 热力图 imshow 是 Matplotlib 库中一个函数,主要用于在 Python 中显示图像。它的完整参数列表如下: matplotlib.pyplot.imshow(X, cmapNone, normNone, aspectNone, interpolationNone, alphaNone, vminNone, vmaxNone, originNone, extentNone, sh…

数码摄影入门:焦距是什么?

焦距是摄影师在拍摄时必须掌握的一个重要参数,但是对于新手来说往往不知道焦距意味着什么,只是一味地将焦距配备齐全。焦距既是一个需要经验来驾驭的参数,也是一个很好理解其作用的参数。今天就为大家讲解焦距到底是什么。 焦距就是镜头中心点…

数码摄影入门之七 用光的艺术

数码摄影入门之七 用光的艺术 说白了,玩摄影就是在玩光线。就如同素描,光线的表现力就是一幅好pp的“魂”下面先讨论几个概念:任何一种光线都存在着三个要素,即强度、方向和色调。 光的强度 强度描述的是光线的强弱程度&#xff0…

如何在看到美景美人时拍出惊艳的照片《数码摄影从入门到精通》

这一类以图画为主的书,我特别喜欢看。然而对于摄影机拍照,我却是是身不能至,心向往之。身不能至是因为,自己拍出的景物照片让别人完全认不出是哪里的特色建筑,给女朋友拍的照片分分钟会被打死(主要原因是没…