Golang的常量定义及使用案例
Golang的常量定义及使用案例
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.常量的定义
package main import (
"fmt"
) func main() {
/*
什么是常量:
在程序运行过程中其值不可以发生改变的量称为常量。
比如游戏里的装备价格在整个程序运行中都是不允许发生改变的。 在golang中有两种定义变量的方式,分别为"常量赋值",“自动推导类型常量”。
1>.常量赋值语法格式:
const 常量名称 数据类型 = 值
2>.自动推导类型常量语法格式(注意,常量赋值不要使用":="):
const 常量名称 = 值 Go语言中使用常量注意事项:
1>.常量一经定义不可修改,比如再次赋值是不允许的;
2>.不可以获取常量的内存地址(在Go语言中在变量前使用"&"可以获取变量的内存地址);
3>.常量和变量在不同的内存存储区域:
(1).常量存储在数据区(全局区)下面的常量区
(2)变量在栈区进行存储,但是在Go语言中将堆和栈进行统一管理,称为虚拟内存区域
4>.为了将常量和变量有所区分,一般实际开发中,我们建议会将常量的名称所有字母均大写;
*/ //常量赋值
const NAME string = "尹正杰"
fmt.Printf("变量na0me的数据类型是:%T,其对应的值是:%s\n", NAME, NAME) //自动推导类型常量
const AGE =
fmt.Printf("变量age的数据类型是:%T,其对应的值是:%d\n", AGE, AGE) }
二.常量集(iota枚举)
1>.使用常量集的注意事项
常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每行都写一遍初始化表达式。 温馨提示:
>.在同一个const声明常量集中,在第一个声明的常量所在的行,iota将会被赋值为0,然后在每一个有常量声明的行加1;
>.在同一个常量集中,在同一行的iota的值相同;
>.在同一个常量集中,可以自定义常量集中的值,但不推荐和iota常量生成器混用,容易搞不清楚iota的值是多少;
>.如果不使用常量集,即单独定义常量,那iota的值都为0,定义常量集的好处就是在定义多个常量时不用每行都得写const关键字;
2>.使用iota常量生成器为常量集赋值案例
package main import (
"fmt"
) func main() { //在同一个常量集中,第一个iota等于0,每当iota在新的一行被使用时,它的值会自动加1
const (
A = iota
B = iota
C = iota
) fmt.Printf("A = %d\nB = %d\nC = %d\n\n", A, B, C) //在同一个常量集中,第一个iota等于0,每当iota在新的一行被使用时,它的值会自动加1,下面这种写法是上面写法的简写形式
const (
A1 = iota
B1
C1
) fmt.Printf("A1 = %d\nB1 = %d\nC1 = %d\n\n", A1, B1, C1) //在同一个常量集中,第一个iota等于0,每当iota在新的一行被使用时,它的值会自动加1,但是同一行的iota值是相同的哟~
const (
A2 = iota
B2, C2 = iota, iota
D2 = iota
) fmt.Printf("A2 = %d\nB2 = %d\nC2 = %d\nD2 = %d\n\n", A2, B2, C2, D2) }
3>.自定义常量集的值案例
package main import (
"fmt"
) func main() {
const (
RED =
ORANGE =
YELLOW =
GREEN =
CYAN =
BLUE =
VIOLET =
) fmt.Println("赤橙黄绿青蓝紫对应的标记为:", RED, ORANGE, YELLOW, GREEN, CYAN, BLUE, VIOLET)
}
Golang的常量定义及使用案例的更多相关文章
- Golang的变量定义及使用案例
Golang的变量定义及使用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.变量的定义 package main import "fmt" func m ...
- GO语言的进阶之路-Golang高级数据结构定义
GO语言的进阶之路-Golang高级数据结构定义 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们之前学习过Golang的基本数据类型,字符串和byte,以及rune也有所了解, ...
- Golang的运算符优先级实操案例
Golang的运算符优先级实操案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.运算符优先级案例 运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包 ...
- Golang的进制转换实战案例
Golang的进制转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用进制概述 1>.进制概述 进制也就是进位制,是人们规定的一种进位方法.举个例子:二进制就 ...
- JavaScript 常量定义
相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
类型判断符号: C#:object a; if(a is int) { } 用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...
- php 常量定义
php常量定义及取值 常量在定义时赋值: 不能变 :不能销毁: 具有超全局作用于:常量只能储存标量数据(字符 整型 浮点 ): <?php define("hello", ...
- 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)
下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是 ...
- PHP常量定义define与const
一.const PHP5.3以前,const只能在类内部声明变量,5.3+允许在外部声明变量,但还不能使用常量计算! const ONE = 1; const WORD = 'hello world' ...
随机推荐
- 【PAT甲级】1009 Product of Polynomials (25 分)
题意: 给出两个多项式,计算两个多项式的积,并以指数从大到小输出多项式的指数个数,指数和系数. trick: 这道题数据未知,导致测试的时候发现不了问题所在. 用set统计非零项时,通过set.siz ...
- webpack配置文件里loader的执行顺序:从下到上,从右到左; css-loader开启css模块化modules: true,
注释: options:{ importLoaders: 2 } 解决样式文件里使用@import 'xxx.xxx' 的问题 module: { rules: [{ test: /\.scss$/, ...
- ng-repeat 设定select 选择项
<select class="form-control m-b" name="FPermissionID" ng-model="mgfunc.F ...
- 「CH6901」骑士放置
「CH6901」骑士放置 传送门 将棋盘黑白染色,发现"日"字的两个顶点刚好一黑一白,构成一张二分图. 那么我们将黑点向源点连边,白点向汇点连边,不能同时选的一对黑.白点连边. 当 ...
- redis 之redis集群与集群配置
一.为什么要用集群 redis3.0集群采用P2P模式,完全去中心化,将redis所有的key分成了16384个槽位,每个redis实例负责一部分slot,集群中的所有信息通过节点数据交换而更新. r ...
- redis 之redis持久化rdb与aof
redis是内存型的数据库 重启服务器丢失数据 重启redis服务丢失数据 断电丢失数据 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种 ...
- 从零开始编写IntelliJ IDEA插件
写Java代码的时候,经常会涉及到重复性的操作,这个时候就会想要是有这样一个插件就好了,如果是大家都会遇到的场景,IDE或许已经提供了,再不然也有可能有人编写了相关的插件.要是这个操作是你们的编码环境 ...
- Java程序员所需要掌握的核心知识
[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识. https://javaguide.cn/ 推荐使用 https://snailclimb.gitee.io/javag ...
- 如何实现从登录接口响应数据中提取JSESSIONID
通过调用接口,对服务器产生压力,单接口测试,会遇到响应数据返回的是要求先登录.这是我们在调用这个接口时,根据业务逻辑,必须先登录才可以,比如:提交订单,那么就需要先获取用户登录的JSESSIONID, ...
- 学习打卡8:循环语句for、while
流程图: /*循环结构的基本组成部分,一般可以分成四部分:1.初始化语句:在循环开始最初执行,而且只做唯一一次.2.条件判断:如果成立,则循环继续:如果不成立,则循环退出.3.循环体:重复要做的内容, ...