Golang 局部变量、全局变量 声明

文章目录

  • 一、局部变量
  • 二、全局变量

一、局部变量

四种声明方式 + 多变量声明:

package mainimport "fmt"//局部变量声明
func main() {//方法一: 声明一个变量和数据类型,不初始化值;默认值为0;var lvA intfmt.Println("lvA = ", lvA)//方法二: 声明一个变量和数据类型,并且初始化值。var lvB int = 10fmt.Println("lvB = ", lvB)//方法三: 声明一个变量,不指定数据类型,但是初始化值;Golang 会自动推断设置这个变量的数据类型;var lvC = 20fmt.Println("lvC = ", lvC)//方法四: 省略 var 关键字, 省略类型指定,使用 := 直接声明变量和初始化值。(常用方法) (但不支持这样声明全局变量)lvD := 30fmt.Println("lvD = ", lvD)//多变量声明 方式一: 单行写法//可以先一次声明多个,然后再一次单个或多个赋值var lvE, lvF, lvG intlvE = 10lvF, lvG = 20, 30fmt.Println("lvE = ", lvE, " lvF = ", lvF, " lvG = ", lvG)//可以在声明多个变量的同时,初始化值var lvH, lvI, lvJ int = 40, 50, 60fmt.Println("lvH = ", lvH, " lvI = ", lvI, " lvJ = ", lvJ)//可以同时声明多个不同类型的变量,根据初始化值,自动推断类型var lvL, lvM, lvN = 70, 80, "多变量声明时,也可以自动类型推断时"fmt.Println("lvL = ", lvL, " lvM = ", lvM, " lvN = ", lvN)//多变量声明 方式二:多行写法var (//可以声明类型, 并初始化值 (多行时,必须要初始化值)lvO      int = 10lvP          = 20lvQ, lvR     = 30, "字符串lvR"//也可以这样只声明但是不初始化值//不过如果不初始化值,则必须指定类型,不然不知道这个变量的类型lvS int)lvS = 40fmt.Println("lvO = ", lvO, " lvP = ", lvP, " lvQ = ", lvQ, " lvR = ", lvR, " lvS = ", lvS)
}

image.png

二、全局变量

全局变量的声明和局部变量的声明方式一、二、三 相同;

但是不能使用局部变量声明方式四 (:=) 来声明全局变量。

package mainimport "fmt"//全局变量声明:和局部变量声明方法的一二三相同
var gvA int
var gvB int = 10
var gvC = 20//不能使用 := 来声明全局变量,编译会报错
// gvD := 30//全局变量的多个变量声明和局部变量一样
var gvL, gvM, gvN = 70, 80, "多变量声明时,也可以自动类型推断时"var (//可以声明类型, 并初始化值 (多行时,必须要初始化值)gvO      int = 10gvP          = 20gvQ, gvR     = 30, "字符串gvR"//也可以这样只声明但是不初始化值//不过如果不初始化值,则必须指定类型,不然不知道这个变量的类型gvS int
)func main() {fmt.Println("gvA = ", gvA)fmt.Println("gvB = ", gvB)fmt.Println("gvC = ", gvC)fmt.Println("gvL = ", gvL, " gvM = ", gvM, " gvN = ", gvN)gvS = 40fmt.Println("gvO = ", gvO, " gvP = ", gvP, " gvQ = ", gvQ, " gvR = ", gvR, " gvS = ", gvS)}

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67052.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSDN编程题-每日一练(2023-08-14)

CSDN编程题-每日一练(2023-08-14) 一、题目名称:小股炒股二、题目名称:王子闯闸门三、题目名称:圆小艺 一、题目名称:小股炒股 时间限制:1000ms内存限制:256M 题目描述: …

学习笔记整理-BOM-01-基础知识

一、 BOM常用对象 BOM(Browser Object Model,浏览器对象模型)是JS与浏览器窗口交互的接口。一些与浏览器改变尺寸、滚动条滚动相关的特效,都要借助BOM技术。 1. Window对象 window对象是当前JS脚本运行所处的窗口,而这…

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式

关于网络入侵检测领域使用Spark/Flink等计算框架做分布式 0、引言1 基于LightGBM的网络入侵检测研究2 基于互信息法的智能化运维系统入侵检测Spark实现3 基于Spark的车联网分布式组合深度学习入侵检测方法4 基于Flink的分布式在线集成学习框架研究5 基于Flink的分布式并行逻辑回…

Springboot 在 redis 中使用 BloomFilter 布隆过滤器机制

一、导入SpringBoot依赖 在pom.xml文件中&#xff0c;引入Spring Boot和Redis相关依赖 <!-- Google Guava 使用google的guava布隆过滤器实现--><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><vers…

企业计算机服务器中了Devos勒索病毒怎么办,勒索病毒解密

社会在发展&#xff0c;科技在进步&#xff0c;企业的生产也得到了很大改善&#xff0c;但是随着网络技术的不断发展&#xff0c;越来越多的企业遭到的网络安全威胁开始增多&#xff0c;其中较为明显的就是勒索病毒攻击。预防勒索病毒攻击成为日常生活中不可或缺的一部分工作。…

互联网发展历程:从网线不够长到中继器的引入

互联网&#xff0c;这个如今贯穿我们生活的无所不在的网络&#xff0c;其发展历程充满了无数的创新和变革。有一项看似不太起眼的技术却在互联网的发展中发挥着至关重要的作用&#xff0c;那就是中继器。本文将带您深入了解互联网的发展历程&#xff0c;探讨在网线不够长的情况…

【深入理解ES6】字符串和正则表达式

概念 字符串&#xff08;String&#xff09;是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol&#xff08;es6新增&#xff09;。 更好的Unicode支持 1. UTF-16码位 字符串里的字符有两种&#xff1a; 前 个码位均以16位的编码单元…

工程监测振弦采集仪采集到的数据如何进行分析和处理

工程监测振弦采集仪采集到的数据如何进行分析和处理 振弦采集仪是一个用于测量和记录物体振动的设备。它通过测量物体表面的振动来提取振动信号数据&#xff0c;然后将其转换为数字信号&#xff0c;以便进行分析和处理。在实际应用中&#xff0c;振弦采集仪是广泛应用于机械、建…

pytest数据驱动(最简单)

目录 第一种&#xff1a;通过yaml文件获取数据&#xff08;一维列表&#xff09; 第二种&#xff1a;通过yaml文件获取数据&#xff08;二维列表&#xff09; 第三种&#xff1a;通过yaml文件获取数据&#xff08;pytest.fixture&#xff09; 资料获取方法 第一种&#xff…

SQL进阶--SQL的常用技巧

一、ORDER BY FIELD() 自定义排序逻辑 排序 ORDER BY 除了可以用 ASC 和 DESC&#xff0c;还可以通过**ORDER BY FIELD(str,str1,...)**自定义字符串/数字来实现排序。这里用 order_diy 表举例&#xff0c;结构以及表数据展示&#xff1a; 二、CASE 表达式 「case when then el…

第4章:决策树

停止 当前分支样本均为同一类时&#xff0c;变成该类的叶子节点。当前分支类型不同&#xff0c;但是已经没有可以用来分裂的属性时&#xff0c;变成类别样本更多的那个类别的叶子节点。当前分支为空时&#xff0c;变成父节点类别最多的类的叶子节点。 ID3 C4.5 Cart 过拟合 缺…

Ubantu安装Docker(完整详细)

先在官网上查看对应的版本:官网 然后根据官方文档一步一步跟着操作即可 必要准备 要成功安装Docker Desktop&#xff0c;必须&#xff1a; 满足系统要求 拥有64位版本的Ubuntu Jammy Jellyfish 22.04&#xff08;LTS&#xff09;或Ubuntu Impish Indri 21.10。 Docker Deskto…