当前位置: 首页 > news >正文

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.lryc.cn/news/123501.html

相关文章:

  • 软考高级之系统架构师之数据通信与计算机网络
  • 牛客网华为OD前端岗位,面试题库练习记录01
  • Python web实战之Django 的缓存机制详解
  • chatserver服务器开发笔记
  • DP——动态规划
  • 【Windows 11】安装 Android子系统 和 Linux子系统
  • 秒杀库存解决方案
  • [免费在线] 将 PDF 转换为 Excel 或 Excel 转换为 PDF | 5 工具
  • PLC求解弹簧质量模型微分方程数值解(RK4梯形图程序)
  • CSDN编程题-每日一练(2023-08-14)
  • 【SA8295P 源码分析】69 - Android 侧添加支持 busybox telnetd 服务
  • OpenCV图像处理——模版匹配和霍夫变换
  • 面试官的几句话,差点让我挂在HTTPS上
  • C语言char**,char*,char s[]赋值
  • 一、Kubernetes介绍与集群架构
  • 基于C#UI Automation自动化测试
  • 深入了解Linux运维的重要性与最佳实践
  • 90 | Python人工智能篇 —— 深度学习算法 Keras基于卷积神经网络的情感分类
  • 自然语言处理从入门到应用——LangChain:记忆(Memory)-[记忆的类型Ⅲ]
  • 【ARM 嵌入式 编译系列 10.3 -- GNU elfutils 工具小结】
  • 黑马项目一阶段面试 项目介绍篇
  • 重构内置类Function原型上的call方法
  • Nginx之lnmp架构
  • C# 使用FFmpeg.Autogen对byte[]进行编解码
  • websocket是多线程的嘛
  • CentOS7.9 禁用22端口,使用其他端口替代
  • 2023国赛 高教社杯数学建模ABCDE题思路汇总分析
  • 【网络层+数据链路层】深入理解IP协议和MAC帧协议的基本原理
  • 银行家算法【学习算法】
  • 萤石直播以及回放的接入和销毁