前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go-变量和常量

go-变量和常量

作者头像
新人小试
发布2020-02-25 18:04:36
3670
发布2020-02-25 18:04:36
举报
文章被收录于专栏:代码世界代码世界

变量和常量

变量

变量:主要作用是存储信息,类似一个容器。变量的值是存储在计算机内存中。    在go中,变量有三个属性:变量类型、变量名和变量值。

声明变量

代码语言:javascript
复制
var 变量名 变量类型

例子:

代码语言:javascript
复制
 1 var name string
 2 var age int
 3 var isOk bool
 4 
 5 var (
 6 a string
 7 b int
 8 c bool
 9 d float32
10 )

在变量声明的时候,会分配内存空间(地址),每个变量会被初始化成其类型的默认值,整型和浮点型是0,字符串是空字符串,布尔类型是false,切片、函数、指针变量是nil; 声明变量并初始化的时候也可以不用指定类型,go语言会根据等号右边的值类型自动推导变量的类型。

例子:

代码语言:javascript
复制
1 var name = "xiaoming"
2 var age = 18

短变量声明

在函数内部可以使用 := 方式声明并初始化变量 例子:

代码语言:javascript
复制
1 func main() {
2 n := 10
3 }

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。 注意事项:

  1. 函数外的每个语句必须以关键字开始(var, const, func等)
  2. := 不能使用在函数外
  3. _多用于占位,表示忽略值

常量

常量:相对于变量来说,常量就是在程序运行过程中不会变的值。

   声明和初始化常量和变量类似,关键字换成 const 。

const 同时声明多个常量时,如果省略了值则表示和上面一行的值相同。

例子:

代码语言:javascript
复制
1 const (
2 n1 = 100
3 n2
4 n3
5 )

上面示例中,n1、n2、n3都是100。

iota

iota是go语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

几个常见的iota示例:

代码语言:javascript
复制
1 const (
2 n1 = iota  // 0
3 n2            // 1
4 n3            // 2
5 n4            // 3
6 )
代码语言:javascript
复制
1 const (
2 n1 = iota  // 0
3 n2            // 1
4 _
5 n4            // 3
6 )
代码语言:javascript
复制
1 const (
2 n1 = iota     // 0
3 n2 = 100    // 100
4 n3 = iota            // 2
5 n4            // 3
6 )
7 const n5 = iota     // 0
代码语言:javascript
复制
1 const (
2 a, b = iota + 1, iota + 2      // 1  2
3 c, d                                     // 2  3
4 e, f                                      // 3  4
5 )
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量和常量
    • 变量
      • 声明变量
      • 短变量声明
    • 常量
      • iota
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档