【5】变量和常量

2023-05-16

一、什么是变量

    • 首先我们要理解这么一个概念,在程序的运行过程中所有数据是保存在内存中的,我们代码中想使用这个数据的时候就要从内存中找,而变量的作用类似就是将内存地址保存,之后直接通过这个变量找内存中的数
    • 在Go语言中,如果你变量申明之后没有使用,也会报错

二、申明变量

    • 标准申明

var 变量名 变量类型 var mogu string var zhouyan int

    • 批量申明

var ( mogu string zhouyan int )

三、使用变量

在Go语言申明变量的时候,自动会对变量对应的内存区进行初始化操作,每个变量会被初始化成类型其默认值,举几个例子:整形和浮点型默认的值为0,字符串默认值为空字符串,布尔类型默认值为flase,切片、函数、指针变量默认值为nil。

申明变量时并设定初始值

var mogu string = "张鹏程" var zhouyan int = 18 //同时申明多个 var mogu,zhouyan = "张鹏程","18"

类型推导

//类型推到的作用是不会要自己申明类型,编译器通过你的值来推推导出变量类型 var name = "张鹏程" //后面跟着字符串,则编译器自动识别为string类型 vat age = 16 //后面跟着int类型编译器自动识别为int类型

短变量申明

短变量申明是相对的概念,我们正常var name string 是在函数外部申明的,作用域在全局,而短变量申明在函数内部申明,作用域在函数内部

name := "张鹏程" age := 16

匿名变量

我们知道,在多重赋值的时候,如果想忽略某个值我们可以使用_来代替

package main import "fmt" func test() (string, int) { //定义一个函数,抛出的参分别是字符串和整型 niubi := "张三" //定义一个短申明变量张三 money := 10 //定义一个短申明变量10 return niubi, money //返回两个变量 } func main() { mniubi, _ := test() //使用mniubi接受test的第一个参忽略第二个参 fmt.Println(mniubi) //输出 _, mmoney := test() //使用mmoney接受test第二个参忽略第一个参 fmt.Print(mmoney) //输出 } 结果: PS D:\goproject\src\go_code\project01> go run .\hello.go 张三 10

四、常量

常量是相当于变量的概念,常量多用于定义程序运行期间不会改变的那些值,常量在定义时必须加赋值

const one = 1 const two = 2 //批量申明 const ( one = 1 two = 2 ) //批量申明常量且下面的值与上面相同 const ( a = 1 b //后面的值遵循上一个常量 c d )

五、iota

iota是go语言的常量计数器,只能在常量的表达式中使用。

iota在const关键字作为值的时候会将常量重置为0。且在批量申明相同iota时下面的值将会自增,举个栗子

const ( a = iota //此时作为初始的iota,会将常量值初始为0 b //遵循上面的iota,但是iota会自增,此时b的值为 1 c //2 d //3 )

我们还可以通过_跳过一次自增

const ( a = iota //0 b //1 c //2 _ d //4 )

当然我们在iota声明中插入一个常量也会跳过

const ( a = iota //0 b //1 c = 100 d //2 ) const ( e = iota //0 )

多个iota定义在一行

const ( a,b //0 1 c,d = iota + 1 ,iota + 2 //3 4 )

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【5】变量和常量 的相关文章

  • gitlab安装部署

    本教程使用centos7 6 首先安装依赖包 yum install y curl policycoreutils python openssh server 如下提示相关依赖安装完成 安装步骤如下 xff1a 1 使用官方脚本添加yum源
  • 用51单片机中断控制LED灯亮灭

    用51单片机中断控制LED灯亮灭 span class token macro property span class token directive keyword include span span class token string
  • HDFS

    xff08 一 xff09 HDFS简介及其基本概念 HDFS xff08 Hadoop Distributed File System xff09 是hadoop生态系统的一个重要组成部分 xff0c 是hadoop中的的存储组件 xff
  • 如何在服务器用docker搭建Redis集群

    用docker部署Redis集群 这里用的是分片 43 高可用 43 负载均衡 xff0c 三主三从 第一步创建网卡 span class token comment 创建网卡 span span class token function
  • P1825 [USACO11OPEN]Corn Maze S——bfs

    USACO11OPEN Corn Maze S 题面翻译 奶牛们去一个 N M N times M N M 玉米迷宫 xff0c 2
  • 7-57 租用游艇问题——dp

    长江游艇俱乐部在长江上设置了n个游艇出租站1 xff0c 2 xff0c xff0c n 游客可在这些游艇出租站租用游艇 xff0c 并在下游的任何一个游艇出租站归还游艇 游艇出租站i到游艇出租站j之间的租金为r i j 1 lt 61 i
  • 三种接口实现增删改查

    目录 ArrayListHashSetHashMap ArrayList ArrayList 实现增删改查 span class token keyword package span span class token namespace t
  • 旗帜软件工作室2021年年度交接会议总结

    只有时间的消逝 xff0c 才使我们注意到时间 在小组的一年时间过的飞快 xff0c 在这一年里我们的心智品性和专业能力都经历了充分了磨练 和一年前的我们相比 xff0c 如今的我们更加成熟稳重 xff0c 不再心浮气躁 xff1b 在自己
  • nested exception is org.springframework.beans.factory.BeanCreationException: 不能注入对象 创建对象失败 spring...

    出现错误的背景 在使用Spring 43 SpringMVC 43 Mybatis SSM集成框架时 xff0c 服务器启动就会报错 错误根源 XML配置错误 解决方案 第一步 查找springmvc xml 配置文件中 是否添加了扫描注解
  • 算法练习——(2)逢7过

    1 中国朋友们聚会时喜欢玩 34 逢7过 34 的游戏 xff0c 老外有个同样的游戏 xff0c FlipFlop xff0c 它从1计数到100 xff0c 顺序输出 当遇到3的倍数就要说 Flip xff0c 遇到5的倍数就要说 Fl
  • beego的安装和简单使用

    beego的安装和使用 beego安装升级 beebee工具的安装 使用beebee newbee apibee runbee packbee version beego beego 是免费 开源的软件 xff0c beego 源代码目前托
  • 网络爬虫——GO

    这里写目录标题 go colly网络爬虫框架goquery HTML解析goquery主要的结构怎么使用goquery常用选择器 go colly网络爬虫框架 go colly是用Go实现的网络爬虫框架 go colly快速优雅 xff0c
  • LeetCode每日一题(12)——按奇偶排序数组(双指针)

    按奇偶排序数组 1 题目2 示例3 思路4 代码 1 题目 给你一个整数数组 nums xff0c 将 nums 中的的所有偶数元素移动到数组的前面 xff0c 后跟所有奇数元素 返回满足此条件的 任一数组 作为答案 2 示例 示例 1 x
  • LeetCode每日一题(25)——最少移动次数使数组元素相等 II

    最少移动次数使数组元素相等 II 1 题目2 示例3 思路4 代码 1 题目 给定整数数组 nums 和整数 k xff0c 请返回数组中第 k 个最大的元素 请注意 xff0c 你需要找的是数组排序后的第 k 个最大的元素 xff0c 而
  • LeetCode每日一题(26)——高度检查器

    高度检查器 1 题目2 示例3 思路4 代码 1 题目 学校打算为全体学生拍一张年度纪念照 根据要求 xff0c 学生需要按照 非递减 的高度顺序排成一行 排序后的高度情况用整数数组 expected 表示 xff0c 其中 expecte
  • 乱码的原因和发展(关于编码)

    乱码的原因和发展 xff08 关于编码 xff09 正文1 引言2 什么是编码3 ASCII 美国人先搞出了 美国信息交换标准代码 4 GB 2312 我国 1980 年公布的 GB 2312 80 信息交换用汉字编码字符集 基本集 5 G
  • 左神算法笔记(异或)+C语言实现

    异或 性质运算性质应用举例1 不用额外变量 xff0c 交换两个数的值原理代码 2 找到数组中唯一一个出现奇数次的数字3 提取最右侧的1 xff08 常用 xff09 应用1 xff1a 找到数组中唯二出现的两个出现奇数次的数字代码应用2
  • C:指针+动态内存 错题(反思在最后)

    1 写一个函数将以秒计数的时间转换为以时 分 秒计数的时间 函数原型为 xff1a char seconds to int seconds 编写main调用测试它 输入格式要求 xff1a 34 d 34 提示信息 xff1a 请输入时间
  • 关于C语言头文件引用的基础及进阶知识(个人理解)

    一 lt gt 与 的区别 xff1f 使用尖括号 lt gt xff0c 编译器会到系统路径下查找头文件 xff1b 而使用双引号 34 34 xff0c 编译器首先在当前目录下查找头文件 xff0c 如果没有找到 xff0c 再到系统路
  • Oracle里 用sql*plus 登陆时,用户名和密码是多少啊?

    Oracle里sql plus的用户名即system用户 xff0c 密码是自己设置的密码 如果密码忘记 xff0c 可通过如下方法重置 1 win键 43 R键 xff0c 输入cmd xff0c 打开命令提示符 2 输入sqlplus

随机推荐

  • 黑盒测试基础

    黑盒测试方法 xff1a 黑盒测试方法 xff1a 等价类划分法 xff1a 边界值分析法 xff1a 因果图法 xff1a 决策表法 xff1a xff08 判定表法 xff09 正交试验设计法 xff1a 错误推测法 xff1a 功能分
  • Anaconda3重新安装后缺失大量文件的解决方法

    反复卸载安装Anaconda3后突然发现安装不上了 xff0c 安装完只有空空的几个文件夹 xff0c 没有scripts Library等目录 xff0c 反复尝试切换版本安装 管理员安装等方法也没用 xff0c 最后发现了真正的解决方法
  • 【小案例:一】Python识别任意位置文字

    一 xff1a 安装pytesseract和OpenCV库 xff1a pip install pytesseract pip install opencv span class token operator span python pip
  • openwrt无线中继

    openwrt无线中继录标题 1 命令行输入aps查看所要连接的ap上级路由 2 cd etc config vi wireless 按照自己所要连接的wifi的参数完成以下配置更改 xff1a option channel 8 上级路由信
  • snprintf函数的用法详解

    c语言的snprintf函数的用法详解 snprintf 函数是一种格式化函数 xff0c 用于将格式化的字符串存储到一个字符数组中 xff0c 并且有一个参数用来限制输出的最大字符数 语法 xff1a int snprintf char
  • JDK、JRE实用安装教程

    JDK与JRE的介绍 JDK xff08 Java Development Kit xff09 称为Java开发包或Java开发工具 xff0c 是一个编写Java的Applet小程序和应用程序的程序开发环境 JDK是整个Java的核心 x
  • Python3实用安装教程

    Python3 python3即Python3 0版本 xff0c 常被称为Python 3000 xff0c 或简称Py3k 相对于Python的早期版本 xff0c 这是一个较大的升级 python3 于 2008 年发布 xff0c
  • json_tuple函数 的利用

    首先在Hive 中查看json tuple 函数的详细信息 desc function extended json tuple 出现解释 xff1a json tuple jsonStr p1 p2 pn like get json obj
  • C语言函数调用参数类型不匹配

    C语言在调用函数时的形参与实参类型不匹配是C语言传统上最大的漏洞 函数调用时实参与形参类型应当保持一致 如果不一致 xff0c 编译器可能会给出相应的Warning xff0c 程序还是可以执行 因为编译器会进行隐含的转换 xff0c 转换
  • 【(Kubernetes)1.26.3+containerd/1.20.x + docker:container runtime is not running问题详细排查】

    一篇很细的排错记录 x1f4dd xff0c 排错排了整整一天的经验 x1f62d 目录 环境 xff1a 报错信息 xff1a 错误分析 xff1a 解决 xff1a etc containerd config toml 一般到这里就解决
  • css动画-3d旋转盒子

    css动画 3d旋转盒子 效果图 xff1a 思路 xff1a 1 一个容器 xff0c 装6个子容器放6张图 xff08 我是采用的ul列表 xff09 lt ul class 61 span class token string 34
  • (已解决)STM32报错Error: L6218E: Undefined symbol assert_param (referred from misc.o).

    今天在学习搭建固件库时遇到了一个问题 xff0c 32在编译的时候会报Error L6218E Undefined symbol assert param referred from misc o 的错误 xff0c 上网查了一下发现没有很
  • vs2017:warning : 无法找到 v142 的生成工具。安装 v142 可使用 v142 生成工具进行生成。

    我使用的是vs2017 xff0c 同伴的是vs2019 xff0c 他发送了他写的项目给我 xff0c 因为使用的vs版本不同 工具集不同 xff0c 导致项目在我的电脑上编译会有如下报错 xff1a warning 无法找到 v142
  • 磁盘冗余整列(RAID)

    1 什么是RAIDRAID Redundant Array of IndependentDisk 独立冗余磁盘阵列 RAID就是一种由多块廉价磁盘构成的冗余阵列 xff0c 在操作系统下是作为一个独立的大型存储设备出现 RAID可以充分发
  • 分布式虚拟交换机(VDS)

    1 和普通交换机的相同之处 xff08 1 xff09 都是为VM xff0c 管理流量 xff0c Vmkernel等提供链接的 xff08 2 xff09 都是要使用物理网卡来关联 xff0c 实现Uplink链路 xff08 3 xf
  • 网络基础整理

    网络基础整理 文章目录 网络基础整理1 osl七层模型 xff08 7 xff09 应用层 xff08 协议数据单元PDU xff09 xff08 6 xff09 表示层 xff08 5 xff09 会话层 xff08 4 xff09 传输
  • 以太网和交换机

    以太网和交换机 文章目录 以太网和交换机1 以太网MAC地址作用 xff1a 组成 xff1a 2 以太网数据帧组成 xff1a 3 交换机工作原理 xff1a 转发原理 xff1a 以太网接口工作模式 xff1a 命令行层次关系 4 以太
  • vSAN基础配置

    1 至少要两块盘且为SSD 43 HDD的配置HDD用于容量储存 SSD用于读写缓存2 在 RAID 卡选择上 xff0c 建议使用支持直通模式 xff08 Pass Through xff09 的 RAID 卡 在这种模式下更换硬盘 新增
  • 【4】Gomodule依赖管理

    go module是Go1 11版本之后官方推出的版本管理工具 xff0c 且从Go1 13版本开始Go module作为Go语言默认的以来管理工具 GOMODULE 要想使用GOMODULE首先要设置环境变量GOMODILE 通过它来实现
  • 【5】变量和常量

    一 什么是变量 首先我们要理解这么一个概念 xff0c 在程序的运行过程中所有数据是保存在内存中的 xff0c 我们代码中想使用这个数据的时候就要从内存中找 xff0c 而变量的作用类似就是将内存地址保存 xff0c 之后直接通过这个变量找