最新要闻
- 速看:兰博基尼领衔 今年值得期待的7款跑车 买不起还不能看看?
- 女子试用期被辞退 现场给HR普法:金句频出网友点赞称解气
- 每日聚焦:靠ChatGPT年入百万!合法还不限学历专业:一般人我不告诉他(doge)
- 全球新消息丨韩系车日子不好过!起亚狮铂拓界限时优惠:降3万还给大礼包
- 播报:LG:三星QD OLED电视更容易烧屏
- 世界聚焦:掏耳朵怎么就这么爽!
- 今日视点:不只全面屏!努比亚Z50 Ultra后摄惊艳:黄金镜皇组合
- 男子月薪3千相亲角“反向相亲”气到大妈 大爷理解:靠颜值吃饭
- 每日热文:吴京+杰森斯坦森主演!《巨齿鲨2》暑期上映 国内有望同步
- 浙大揭秘吃鱼为什么会变聪明 网友:告诉老默 我想吃鱼了
- 上海消保委提醒谨慎购买威马汽车:经营异常、消极应对投诉
- 特斯拉将放弃稀土材料 中国公司无惧:目前没有东西替代
- 即时:B站两款自研游戏将上线 CEO陈睿:能挣钱的游戏只剩下两种
- 《生化危机4:重制版》新演示/截图 里昂拯救黑丝碍事梨
- 全球最强!传音260W快充手机将亮相:10分钟内充满
- 性能对标奔驰大G 比亚迪“F品牌”首车曝光:够硬够强
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
环球热资讯!Study for Go! Chapter one - Type
Study for Go! - Type
1. Variable
关键字为 " var"
(资料图片仅供参考)
自动初始化为二进制零值
编译器推测数据类型
变量类型放在变量名之后
可以一次性定义多个变量且可以是不同类型的初始值
可以用组的方式定义一组变量用“ { }” 括起来
简短模式(short variable declaration):
关键字为 “ := ”
只能用在函数内部
不提供数据类型
定义的同时显式初始化
在函数内部使用简短模式时,如果在函数外有全局变量,函数内部的使用会被认为是同名变量
在函数内部使用简短模式时,如果在函数内部已有同名变量且本次简短模式定义包含至少一个新变量,则再一次使用的简短模式定义会被认为是部分“ 退化 ”的赋值操作
赋值退化:
赋值退化的前提时,之前至少有一个新变量被定义,并且必须是同一作用域
在处理函数错误返回值时,退化变量有利于重复使用err变量
多变量赋值:
先计算出所有右值再进行赋值操作
赋值操作必须保证左右值类型相同
Attention:
未使用的局部变量在golang中将被视作错误
2. Name
命名规范与建议:
以字母或者下划线开始,并可由字母、下划线、数字组合
区分大小写
用驼峰 (camel case)规则拼写
局部变量优先使用短名
不要使用保留关键字
不建议使用与预定义常量、类型、内置函数相同的名字
专有名词通常全部大写
符号名字的首字母大小写决定了其作用域。首字母大写的为导出成员,可被包外引用,而首字母小写只能在包内引用
空标识符( blank identifier ) “ _ ” 作为忽略占位符,可做表达式左值,用来规避编译器对未使用变量和导入包的错误检查。( 空标识符为预置成员不能重新定义 )
3. Constant
关键字“ const ”
可以指定常量的类型,也可以由编译器通过初始值判断
可以在函数代码块里定义常量,未被使用的常量不会引发编译错误
当显式指定常量类型时,需要保证左右值类型一致,必要时可以做显式转换。右值不能超过常量类型的取值范围,否则会引发溢出错误
常量值也可以是能通过计算得出的表达式,如unsafe.Sizeof、len、cap等
在常量组的定义中,如果即没有说明类型也没有给初始化值,那么该常量的类型和初始值与上一行的非空常量右值的表达式文本相同
golang中没有明确意义上的 enum 定义,但是可以借助 iota 标识符 实现一组自增常量值来实现枚举类型
当自增的作用范围为常量组时,可以在多常量定义中使用多个 iota ,他们之间各自单独技术,只需保证每一行常量的列数相同即可
中断常量自增只需要显式初始化下一行值
恢复常量自增则需要显式恢复,并且恢复时的自增值时按照行序递增,而非按上一行取值
自增的默认数据类型为 int (也可以显式指定自增类型)
在实际编码中,建议使用自定义类型实现用途明确的枚举类型,但这并不能将取值范围限定在预定义的枚举值之内
Qusetion:
What is the differences between constant and variable other than " read-only " ?
Answer:
变量在运行期分配并存储内存,而常量通常被编译器在预处理阶段就直接展开,作为指令数据使用
数字变量不会分配存储空间,无须像变量那样通过内存寻址来取值,因此无法获取地址
Attention:
无类型声明的变量,编译器会直接展开
显式指定类型的变量,编译器会做强类型检查
4. Basic Type:
支持二进制、八进制、十六进制、科学计数法表示
可用类似 math.MaxInt8/MinInt8定义个数字类型的取值范围
可用strconv 在不同进制的字符串之间转换
使用浮点数时需要注意小数点后的有效精度,相关细节可以参考IEEE-754的标准
alias 别名:
byte alias for uint8
rune alias for int32
别名类型无需转换,可以直接赋值
但不是说,具有相同的底层结构的类型就属于alias 别名,例如64位平台上的 int 和 int 64 结构完全一致但也属于不同的类型,需要显式转换
5. Reference Type:
在golang 中特指 slice、 map、 channel 这三种预定义类型
reference type 具有更加复杂的储存结构
reference type 除了分配内存以外,还需要初始化一系列属性,例如:指针、 长度、 哈希分布、数据队列等
内置 new 函数按照指定类型长度分配零值内存,返回指针,并不关心类型内部构造和初始化方式,所以 reference type 必须使用 make 函数创建,编译器会将 make 转换成为目标类型专用的创建函数(指令),以确保完成全部内存分配和相关内容初始化
Attention:
使用new函数其实也可以为引用类型分配内存,但是这是不完整的创建,例如:使用 new 函数为字典(map)创建内存时,仅仅为字典类型本身(实际就是一个指针包装)分配了所需内存,并没有分配键值储存内存,也没有初始化散列桶等基础属性,因此使用 new 函数 为引用类型分配内存会导致无法正常工作
6. Type Conversion
隐式类型转换带来的问题远大于他的好处
除了常量、引用类型和未命名类型以外,在 golang 中,强制要求使用显式类型转换
由于这个规则,加上 golang 不支持操作符重载,所以我们总是能确定语句以及表达式的明确含义
不能将非 bool 类型的结果 当作 true/false 使用
如果 type conversion 的对象是指针、单向通道或者没有返回值的函数类型,那么必须使用括号,避免歧义造成语法分解错误
7. Custom Type
关键字 “ type ”
可以进行基于现有类型的创建、结构体、函数类型的创建等
和 var 、 const 类似,多个type定义可合并成组,可在函数或代码块内定义局部类型
Attention:
即使 custom type 指定了基础类型, 也只表明他们有相同的底层数据结构,该两者之间不存在任何关系,属于两种完全不同的类型,除了操作符外, custom type 不会继承基础类型的其他信息(包括方法),不能被视作别名、不能隐式转换、 不能直接用于比较表达式
Unnamed type or named type:
array 、 slice、 map、 channel 等类型与具体的元素类型以及长度有关,被称为 未命名类型 (unnamed type),使用 “ type ” 关键字 就可以将其转换为 命名类型 (named type)
具有相同声明的未命名类型会被视为同一类型
未命名类型转换规则:
-
环球热资讯!Study for Go! Chapter one - Type
StudyforGo!-Type1 Variable关键字为"var"自动初始化为二进制零值编译器推测数据类型变量类型放在变量...
来源: 全球聚焦:收个滴滴Offer:从小伙三面经历,看看需要学点啥?
环球热资讯!Study for Go! Chapter one - Type
环球最新:手写模拟Spring底层原理-Bean的创建与获取
速看:兰博基尼领衔 今年值得期待的7款跑车 买不起还不能看看?
女子试用期被辞退 现场给HR普法:金句频出网友点赞称解气
每日聚焦:靠ChatGPT年入百万!合法还不限学历专业:一般人我不告诉他(doge)
全球新消息丨韩系车日子不好过!起亚狮铂拓界限时优惠:降3万还给大礼包
zip文件结构
头条:与时俱进推动智慧城市建设,智慧管网监测加强城市治理能力
全球视讯!Java项目集成工作流activiti,会签
简单介绍Python中如何给字典设置默认值
播报:LG:三星QD OLED电视更容易烧屏
世界聚焦:掏耳朵怎么就这么爽!
今日视点:不只全面屏!努比亚Z50 Ultra后摄惊艳:黄金镜皇组合
男子月薪3千相亲角“反向相亲”气到大妈 大爷理解:靠颜值吃饭
每日热文:吴京+杰森斯坦森主演!《巨齿鲨2》暑期上映 国内有望同步
环球视点!ffmpeg视频上传及压缩Linux配置篇下
世界快资讯:【Avalonia】【跨平台】关于Prism项目模块化在Linux下路径问题
浙大揭秘吃鱼为什么会变聪明 网友:告诉老默 我想吃鱼了
上海消保委提醒谨慎购买威马汽车:经营异常、消极应对投诉
特斯拉将放弃稀土材料 中国公司无惧:目前没有东西替代
即时:B站两款自研游戏将上线 CEO陈睿:能挣钱的游戏只剩下两种
《生化危机4:重制版》新演示/截图 里昂拯救黑丝碍事梨
焦点日报:配置资源管理Secret和ConfigMap
环球视点!Windows故障转移群集 和 SQLServer AlwaysOn 搭建教程
(数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理
全球速递!视频上传及压缩SpringBoot篇上
世界热门:el-input 使用 回车键会刷新页面的问题
全球最强!传音260W快充手机将亮相:10分钟内充满
性能对标奔驰大G 比亚迪“F品牌”首车曝光:够硬够强
世界快消息!传欧盟准备批准微软收购动视-暴雪
当前报道:女司机“神操作”:100来公里高速连撞4次 竟甩锅路太窄
世界视讯!又一大作优化翻车!《卧龙:苍天陨落》RTX 4090依旧闪退
12GB+256GB到手仅2699元!Redmi K60正式开启降价
温州特斯拉事故驾驶员家属发声:记不清车辆失控场景 妻子去世自责
环球时讯:中国航天员遇到外星人怎么办?载人航天总师:积极交流 星际合作
焦点要闻:漫威等好莱坞大片中国市场遇冷:大家不爱看了 不符合国人审美、文化观
550元 富士发布Instax Mini 12拍立得相机 支持APP存照片
环球即时:卷成白菜价!致态TiPlus 7100固态硬盘新史低:1TB仅549元
环球头条:马斯克10万亿美元“改造地球”背景下!特斯拉电机要完全不用稀土:专家回应有可能
读Java性能权威指南(第2版)笔记07_即时编译器上
今头条!天问二号任务已获得国家批准立项:要从小行星2016 HO3采样返回
实现 Vue 折叠面板组件
委员:996制度是导致就业难、生育率低的重大原因
当前播报:电商价格战开打!京东百亿补贴上线:全场包邮 买贵双倍赔
特斯拉未来要狂暴降价:就靠这改变世界?其实都被骗了!
世界快资讯:豆瓣8.9分!韩国拼体格真人秀在欧美爆红
暗黑三国风!《卧龙:苍天陨落》正式上线:298元 GTX 1650就能玩
3.3 数据结构 时间复杂度 和空间复杂度 计算
环球简讯:004. html篇之《标签分类和嵌套》
天天动态:星巴克国内最大对手!瑞幸咖啡财报:年收入首次突破百亿
硬件狗狗3.3新版发布:跑分排行 实时PK
【环球热闻】使用ansible部署服务到k8s
专家:双休制度很难被改变 可以试试“做四休三”
【当前独家】同样是PCIe 5.0 SSD:Intel、AMD跑分竟不一样!差距达30%
世界观焦点:大熊猫为什么近期扎堆回国?美日等国养不起“国宝”了吗?完全是误解
当前速讯:女子称因准点下班试用期第3天被辞退:还被领导一顿痛骂
全球聚焦:R数据分析:做量性研究的必备“家伙什”-furniture包介绍
003. html篇之《表单》
全球即时:Codeforces 1774 G Segment Covering 题解 (观察性质,倍增)
【全球播资讯】Feign踩坑源码分析 -- 请求参数分号变逗号
【全球快播报】火箭弹电子版领取处>>
视讯!完美还原!玩家用虚幻5复刻《狂飙》高启强老家:桌上还有孙子兵法
《龙马精神》4月上映!69岁成龙再跳120米高摩天轮 本人直言小事情
天天快资讯:C++面经(持续更新)
今亮点!实验楼(规则)怪谈
热推荐:电视剧《三体》豆瓣评分上涨 于和伟:《三体》涨分像涨工资
热门看点:《卧龙:苍天陨落》今晚零点正式解锁!乱世三国冒险即将开启
前沿资讯!口感醇正!熊猫精酿好时光皮尔森啤酒好价:2.8元/听
即时:中国科技公司:让老外开眼了
完爆H.265!优酷用上H.266编解码:最便宜手机放视频也丝般顺滑
世界今头条!搭建两台web服务器基于HAProxy实现负载均衡
焦点短讯!路飞-day5——git 多分支开发、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解决、线上分支合并、远程仓库回滚
简讯:(数据库系统概论|王珊)第七章数据库设计:习题
全球时讯:我国网民规模达10.67亿!短视频用户首次突破10亿:你每天刷多久?
B站发布2022年Q4及全年财报:全年营收219亿元 Q4日活用户达9280万
零排放、低噪音!国内首列氢燃料混合动力铰接轻轨车下线
环球微头条丨003 jmeter连接数据库及jmeter关联提取器
git-git、gitee使用介绍
面试官:从 MySQL 读取 100w 数据进行处理,应该怎么做?问倒一大遍!
天天快播:常用的Prestosql
python3和scrapy使用亿牛云隧道代理问题以及代码
为何近半数安卓用户想换苹果?背后原因揭开
天天快资讯:国人也买不动了!1月iPhone全球销量大跌11% 苹果会降价刺激销量吗?
当前速看:纯电飞行250公里 国产厂商创电动载人飞行器新纪录
【世界新要闻】公司招聘会计要求一定是A型血 网友:很奇葩
每日快讯!中国空间站成功首次“点火”!高速相机拍下神奇一幕
今日观点!Pod控制器
创建型:构造器模式
天天最新:Python类和对象的绑定方法及非绑定方法
答菲洗脸巾80片到手6.9元:干湿两用 不掉毛絮
全球视点!男子犯困竟在高速行车道睡觉30分钟 科普:连续开车不应超4小时
甄子丹谈好莱坞对亚裔的刻板印象:怎么都这么老套?
特斯拉减少75%碳化硅用量 马斯克一句话干崩第三代半导体 上市公司回应
知名博主曝保时捷卡宴中控鼓包:我脚上皮鞋的皮都更好
法拉第未来恢复贾跃亭的公司执行官身份
全球微资讯!Adobe Photoshop 键盘快捷键 备忘清单_开发速查表分享
环球简讯:mperf:移动/嵌入式平台算子性能调优利器
天天动态:玩转Angular系列:组件间各种通信方式详解
焦点要闻:DL 基础:PyTorch 常用代码存档