c语言中冒号运算符,冒号等于 - G之间的差异:=和=运算符
正如其他人已经解释的那样,:=用于声明和赋值,并尝试自动猜测(推断)变量的类型。
这是一种简短的形式:
var foo int
foo = 32
// OR:
var foo int = 32
// OR:
var foo = 32
一些规则
你不能使用:= =。
illegal := 42
func foo() {
legal := 42
}
你不能两次使用它们:
legal := 42
legal := 42 //
因为,:=引入了“一个新变量”,因此使用它两次不会重新声明第二个变量,所以它是非法的。
但是,如果其中一个变量是新的,则可以在“多变量”声明中使用它们两次:
foo, bar := someFunc()
foo, jazz := someFunc() //
baz, foo := someFunc() //
这是合法的,因为,您没有声明所有变量,您只是将新值重新分配给现有变量,并同时声明新变量。
您可以在较新的范围内使用short声明变量,即使该变量已在以下情况下使用相同的名称声明:
var foo int = 34
func some() {
// because foo here is scoped to some func
foo := 42 //
foo = 314 //
}
这里,:=是合法的,因为它在if func的范围内声明了=。 foo = 314是合法的,因为它只是为foo指定了一个新值。
_
您可以将它们用于多变量声明和赋值:
foo, bar := 42, 314
jazz, bazz := 22, 7
_
您可以在短语句上下文中声明相同的名称:if,for,switch:
foo := 42
if foo := someFunc(); foo == 314 {
// foo is scoped to 314 here
// ...
}
// foo is still 42 here
因为,:=在=中,只属于那个if条款并且它在不同的范围内。
因此,作为一般规则:如果要轻松声明变量,可以使用:=,或者,如果要覆盖现有值,则可以使用=。
c语言中冒号运算符,冒号等于 - G之间的差异:=和=运算符相关推荐
- C语言中判断浮点数是否等于0
1.C语言中判断浮点数是否等于0: 2.C语言中判断两个浮点数是否相等: float.double分别遵循R32-24,R64-53的标准.他们尾数的位数分别是23.52,即误差在2^-23,2^-5 ...
- html语言中的双冒号,::before 和:after 中双冒号和单冒号有什么区别?解释一下这 2 个伪元素的作用...
标题:::before 和:after 中双冒号和单冒号有什么区别?解释一下这 2 个伪元素的作用? 相关知识点: 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素.(伪元素由双冒号和伪 ...
- 项目中所了解的一些浏览器之间的差异
各主流浏览器的区别各主流浏览器的区别 http://www.cnblogs.com/lhb25/archive/2013/06/05/html5-and-css3-2013.html 一. Tride ...
- html语言中的双冒号,css单冒号和双冒号用法和区别
最近突然被别人问起css单冒号和双冒号有什么区别,答曰:"不知道". 虽然还在填坑中,但作为一个跨过了初级的FEer,感觉着实汗颜,刚好今天下午在搜别的问题的时候,突然看到一个对比 ...
- c语言中无符号和有符号之间的运算
关于计算机中有符号,无符号数值的表示以及它们之间的运算 是基本知识,但工作这么多年也不敢说完全搞明白透彻. 这几天在将知识点进行了一些梳理,并做了一些有意思的试验. 计算机中,数值的表示和运算都是用补 ...
- R语言中如何导入元素两两之间的距离数据
R语言中dist()函数与as.dist()函数 下面给出五个元素两两之间的距离,试利用最短距离法.最长距离法和类平均法做出五个元素的谱系聚类,画谱系图并做出比较. 如何将其数据导入R中如图所示 其表 ...
- r计算百分位数_R中产生的分位数和百分位数之间的差异
请原谅我的数学,但为什么这两个代码的结果不同?预计2015年第63和82行累计百分比的支出与第二年产生的支出相同.第一个是X63的0.591,X82的0.858,第二个代码在cumsum_pct中分别 ...
- c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发
在C语言中,要求参加运算的数必须是整数的运算符是什么_后端开发 在C语言中要求参加运算的数必须是整数的运算符是"%":"%"符号在c语言中有两种释义,一是求余符 ...
- 一步带你了解C语言中++、--的使用方法!
一步让你了解C语言中++.--的使用方法! 一.前言 二.++.- -运算符 (1)前缀形式和后缀形式单独使用,并未出现在表达式中 (2)前缀形式后缀形式放入表达式中 三.代码实现 一.前言 C语言中 ...
最新文章
- SCCM 2012 SP1系列(七)分发部署exe软件
- 战神背光键盘如何关系_显瘦又有肌肉 神舟战神Z7MKP5GZ评测
- 实战并发编程 - 05等效不可变对象CopyOnWriteArrayList适用场景剖析_写时复制COW
- good way for university professors accumulating the citation
- VC创建DLL动态链接库及其调用
- python 爬关键词,Python爬虫实战:爬取微博热搜关键词
- I.MX6 make menuconfig OTG to slave only mode
- [原创] 对于深度学习(deep learning)在工业界的应用现状和突破 [by matthewbai]
- Pandownload作者被抓后,我决定用docker搭建一款私有网盘
- 谷歌浏览器快速保存整个网页的方法
- apple API常用英语名词
- ios自己搭建服务器证书,iOS一步一步实现Https自建证书校验
- EduCoder-Web程序设计基础-html5—表格高级样式的设置-第3关:设置表格的内边框样式
- iPhone卡在一个界面出不来,怎么办?
- 关于虚拟机VMware中打开Ubuntu20.04提示AMD-V处于禁用状态解决办法(基于MSI微星主板)
- 解决Windows11 Microsoft Store微软商店无法联网 Windows聚焦不更新 微软账户无法登录等
- 关于ORA-1658错误和用户表空间配额
- 数据归档,存储的完美储备军
- 1688商品sku采集抓取实现方法
- 10款Java小游戏(详解+源码)
热门文章
- 什么是EFLOPS?
- 晨曦记账本怎么记录家庭收支,借还款
- 【MATLAB教程案例40】语音信号的共振峰频率倒谱法估计matlab仿真学习
- 小i机器人登陆纳斯达克:市值4.2亿美元,与苹果打了10年专利侵权官司
- oracle设置主键自增(超简单)
- 前端基于uniapp[uniPush]实现APP消息推送(安卓、IOS)
- 九阴服务器维护,九阴:全区服10月23日9:00-10:00临时维护公告
- 3亿新市民金融崛起前夕,谁能率先打通服务链?
- 大佬横行的币圈,谁才是真正“一割”?
- 【MVC】发布问题0x80070021与0x8007000d,解决方案