【5】变量和常量

news2024/10/6 8:39:44

一、什么是变量

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JNI和Ndk开发

按照一下配置,基本能保证demo跑通 1、下载NDK,下载需要的版本 2、下载Cmake版本 3、项目结构:含C源码 4、编写JNI的加载类 public class YjkModel {static {System.loadLibrary("nativ"); //跟CMakeLists.txt 库名一致}public nat…

基于 APISIX 的服务网格方案 Amesh 积极开发中!

作者lingsamuel,API7.ai 云原生技术专家,Apache APISIX Committer。 在云原生快速发展的前提下,服务网格领域也开始逐渐火热。目前阶段,大家所熟知的服务网格解决方案很多,每种产品又各有其优势。因此在面对不同的行业…

python直接赋值、浅拷贝与深拷贝

本文主要参考这篇博文python浅拷贝与深拷贝 基本概念 首先了解python中的一些基本概念 变量:是一个系统表的元素,拥有指向对象的连接空间对象:被分配的一块内存,存储其所代表的值引用:是自动形成的从变量到对象的指…

ECU Extract + OS Task Mapping 步骤

纲要: 通过 Composition里面的Assembly Connection (Intra-ECU Communication)System Extract 里面的SystemDataMapping (Inter-ECU Communication) 已经把SWC的所有Data Element都连接上了,接下来就是把SWC的Runnable给Mapping到对应的OS Task上&…

(三)redis五大数据类型和key

目录 一、redis键(key)的常用操作 二、redis字符串(String) 1、简介 2、常用命令 3、数据结构 三、redis列表(List) 1、简介 2、常用命令 3、数据结构 四、redis集合(Set)…

Django(16):rest_framework框架使用指南

目录1.安装配置2.数据序列化2.1 Serializer2.2 ModelSerializer2.3 序列化对象的属性和方法3.请求和响应3.1 Request3.2 Response3.3 状态码3.4 as_view3.5 format_suffix_patterns3.6 示例4.CBV构建(基于类的视图)4.1 如何构建4.2 类型视图的扩展功能4.…

DMIPS, FLOPS, OPS概念

DMIPS DMIPS(Dhrystone Million Instructions executed Per Second):Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。Dhrystone是一种整数运算测试程序。换句话说,就是使用Dhrystone这种程序在不同的…

【云原生 | 52】Docker三剑客之Docker Compose第三节

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专…

FineReport填报报表

二次确认,删除行:参考: JS实现删除时二次确认- FineReport帮助文档 - 全面的报表使用教程和学习资料JS实现记录填报操作- FineReport帮助文档 - 全面的报表使用教程和学习资料确认后直接校验提交// 二次确认 var cell this.options.location…

开始安装Domino 12.0.2

大家好,才是真的好。 上周我们话题是NotesDomino12.0.2产品发布,主要说到了Domino12.0.2的新特性,新特性很多,要用很多篇来进行测试和说明。 今天我们主要谈谈Domino 12.0.2的系统要求和安装等。 首先,Domino12.0.2…

一、初识FreeRTOS之FreeRTOS简介

目录 一、什么是FreeRTOS? 二、为什么选择FreeRTOS? 三、FreeRTOS的特点 四、FreeRTOS资料与源码下载 五、FreeRTOS源码文件介绍 一、什么是FreeRTOS? Free即免费的,RTOS的全称是Real time operating system,中文就是实时操作…

python数据结构(一):字符串

一、字符串的格式化输出 1.1、格式化运算符 print("我跑完了第" str(lap 1) "圈")上面这段输出的代码使用了两个加号做了字符串拼接,并且将整形转换成了字符串。也可以使用一种更好的办法,格式化输出来打印这句话。 print(&quo…

xilinx srio ip学习笔记之再识srio

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之再识srio前言SRIO的理解IP核的理解前言 这段时间,随着对SRIO的学习,又有了更深的一点认识,不像一开始这么慌张了…

年终汇报工作,如何用项目管理工具展现成果

据报道,2022年11月20日的一次京东内部会议上,刘强东痛批京东中高层管理人员,表示部分高管醉心于 PPT 和奇妙词汇,或吹得天花乱坠但是执行一塌糊涂。 不可否认,刘强东提到的现象,的确是当今众多互联网大厂和…

基于frp实现外网访问个人本地服务器

适用对象想要通过frp实现内网服务被外网访问的人。关键词描述内网:内网指的是局域网,几台或者几十台电脑之间互访,也叫私网。外网:指的是我们上的Internet网络,也叫公网。需要具备的知识基础和条件1:外网服…

Java异常分类常见使用场景

今天在自己实现RxJava框架时,发现一些参数异常、流关闭异常等,Rxjava框架是会抛出相应的异常的,所以自己编写实现这块源码的时候,渐渐的也需要使用到这些知识,这里对这块做一下回顾总结。 使用 我们代码编写实现中&am…

开年喜讯!知道创宇一连斩获2022年度“IT168技术卓越奖”三项大奖

近日,业界知名IT垂直门户媒体IT168发布“2022年度IT168技术卓越奖”获奖名单,知道创宇凭借强大的技术优势与出色的产品能力脱颖而出,一举斩获网络安全领域三项大奖: 知道创宇创始人、CEO赵伟获评“数字化转型领军人物” ScanV-互…

【C++】优先级队列priority_queue/仿函数(函数对象)

这里写目录标题一.优先级队列1.优先级队列的介绍2.priority_queue的定义与使用二.仿函数/函数对象三.优先级队列的模拟实现一.优先级队列 1.优先级队列的介绍 1)注意优先级队列和队列不是一个东西,队列是容器,优先级队列是一种容器适配器&am…

服务监控之promethues+grafana,直接送你上大师,这还不上热门吗

最近的项目需要上监控,虽然之前也是使用这个方案,但是作为使用者一直没有太关注细节,也没有真正的去部署过,刚好凑着这次机会,彻底掌握下这套监控系统 1、监控系统架构 监控的架构这个图几乎每个文章都有&#xff0c…

学习JS,实现自动打字机动效

前几天遇到一个需求,产品告诉我说,希望这些字可以像自动打字那样,一个一个的出来,于是在完成需求的同时,顺便把这个方法记录出来,看大家是否也需要。 目录 1、实现思路 2、html布局和css样式 3、预定义…