版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GO语言基本数据类型总结电脑资料这篇文章主要介绍了 GC语言基本数据类型,较为详细的了 GC语言 的基本数据类型,对于GO语言的学习有一定的借鉴参考价值,需要的 朋友可以参考下本文实例总结了 GO语言基本数据类型,行注释: / 块注释: /* .*/可以这么说,除了数字开头的不允许,符号开头的不允许,关键 字不允许,其他的 Unicode 字符组合都可以。“ _33”也可以是标识 符、“我们”也可以是标识符。标识符也区分大小写。(1)、以大写字母开头的标识符是公开的。(这个很有意思)(2)、其他任何标识符都是私有的。(3)、空标识符“ _”是一个占位符,用于赋值操作的时候,丢 弃、忽略某个值。
2、通常这样用:go 的方法一般会返回 2 个值,一个通常的返回、一个错误标识。 如 fmt.Println(x) 会返回 2 个值,一个是打印的字节数,一个是相应的 error 值,那么 count,_ = fmt.Println(x) 这行代码就忽略了 相应的 error 值。(1)可以自动推断类型, 如: 代码如下 :const a = 5 (2)可以显式指定类型,如:代码如下 :const a int16 = 6/ int16是一个整形类型PS:go 语言常量、变量定义的格式均为:关键字 常量(变量) 名 类型 = 值)3)可以一次声明多个常量,如: const ( a = 0 ; b =
3、 2),这叫分组声明。此时,第一个常量被默认设置为 0,后续的常量默认设置为前面常量的表达式。(PS: 但是希望用 const (a b) 表示 a=0,b=0 这样的是不行的, 常量分组定义,第一个常量必须赋值、或为 iota )(PPS注意,go语言中一般不需要分号来表示分隔,编译器会 自动在每行的末尾添加分号,当然,添加分号也没有错,不过像 liteide 这样的 IDE 的自动格式化一般会帮你把分号删除,然后帮你 换行)( 4)关键字 iota 表示连续的无类型的整数常量 ,iota 默认为 0, 并逐步递增。即,代码如下 :const(a = iota; b ; c )5)一行多个赋
4、值中, iota 不相互影响。每次 iota 出现,它的值为 0,如:代码如下 :const (i, j, k = 2 * iota, iota, iota + 2m, n, l)此时,i、j的值均为0, k的值为2, m n、I的值分别为2、1、3(PS:go 语言支持一行赋多个值)变量有 2 种定义方式:1 )一种是用关键字 var ,例如:代码如下 :var i int /这里会自动设置默认值 0, 如果是字符串,默认为空或者:代码如下 :var i = 8 /声明同时赋值,自动推导其类型或者:代码如下 :var k int = 16 /指明类型,声明并赋值或者:代码如下 :var (
5、a int; b int; c int) /分组声明,跟常量类似,(2)另一种是用快速变量声明,就是用 := 操作符,它会声明并 初始化一个变量,可以自动推导类型。不过这种声明有一个限制,它 只能在函数内部使用,在函数外部会报错。如:代码如下 :name := chandler qian /自动推导类型为 string值得注意到是, := 操作符是声明并初始化,就是说,在同一个作用域内,这个变量必须未声明过,不然是错误。如下:代码如下 :k, b := 7, 8fmt.Printf(before k=%d,b=%dn, k, b) if k := 1; k != -1 b := 3 fmt.P
6、rintf(inner k=%d,b=%dn, k, b)fmt.Printf(after k=%d,b=%dn, k, b)在下面的 if 作用于内, k、b 重新用:=声明赋值,但没问题,因 为出了 if 作用域,它们就消失了。结果为:before k=7,b=8inner k=1,b=3after k=7,b=8而 if 语句改为这样:代码如下 :if k = 1; k != -1 b := 3 fmt.Printf(inner k=%d,b=%dn, k, b) 那么最后的输出就是:before k=7,b=8inner k=1,b=3after k=1,b=8可见,“ =” 是全局作
7、用的赋值,而,“ := ” 则会在自己的作用 域内创建变量并赋值。(3)整形字面量的类型会自动推断为 int ,浮点字面量会自动推 断为 float64, 复数字面量会自动推断为 plex128Go 语言会严格筛选使用比较操作符( 、=、=、!= 、=、)进 行比较的值。这两个值必须是相同类型或实现了相同的接口。如:代码如下 :func test0() var a int = 5var b float32 = 4.4if a b fmt.Println()由于 a 和 b 类型不匹配,所以编译错误: invalid operation: a b (mismatched types int and float32),再看下面这个:代码如下 :func test1() var b float3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自无证建房出售合同(2篇)
- 粘土冰淇淋课件
- 语文单据 课件
- 专题01 字音字形词语(考点串讲)-七年级语文上学期期末考点大串讲(统编版2024·五四学制)
- 第一讲 成长趣事(看图写话教学)-二年级语文上册(统编版)
- 第七讲 做手工(看图写话教学)-二年级语文上册(统编版)
- 西京学院《应用统计学》2021-2022学年第一学期期末试卷
- 西京学院《数字电子技术》2021-2022学年期末试卷
- 西京学院《机械工程测试技术》2021-2022学年第一学期期末试卷
- 冲突 作文 课件
- 工程造价咨询服务质量承诺及保证措施
- 最新种植新病历
- 水联动试车方案(共33页)
- 高效电池片(TOPCon)生产项目可行性研究报告模板-提供甲乙丙资质资信
- INPLAN操作培训PPT课件
- VB和Oracle的链接
- 代理报关委托书
- 小学美术四年级质量检测试卷(共3页)
- 青少年科学调查体验活动分析报告
- 大班科学四季的变化ppt课件
- 建设部211文件
评论
0/150
提交评论