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' ...
随机推荐
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)B(SET)
#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int a[2007];set<int& ...
- spring SpEL--转
原文:http://www.tuicool.com/articles/Jbq2QnM 概要: Spring表达式语言:SpEL Spring表达式语言 (简称 SpEL ):是一个 支持运行时查询和操 ...
- Linux centosVMware xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务
一.xshell使用xftp传输文件 Ctrl+Alt+F 弹出 下载进入 填写任意名字,自己邮箱 进入邮箱点击网址就自动下载了 然后安装 二.使用pure-ftpd搭建ftp服务 yum insta ...
- MyEclipse和Eclipse中常用的快捷键
##########################快捷键分类速查########################## *******常用类********[Ctrl+O] 显示类中方法和 ...
- The way get information from mssql by using excel vba and special port
Yes, we can get information from mssql by using excel vba. But the default port of MSSQL is 1433. ...
- 移动端一像素边框解决方案[css scale]
新建一个border.css的文件,然后将代码复制粘贴,然后引用border.css样式文件,然后给需要添加边框的元素,加相应的类样式. tips: border-bottom[一像素下边框]:bor ...
- SRSniffer抓包工具的使用
1.打开SRSniffer软件 2.按照1-->2-->3依次点击 3.点击左侧的启动监听按钮 4.打开要记录api的软件,查看效果
- [Linux] day02——什么是Linux
什么是linux? 一种操作系统计算机 = 硬件 +软件系统软件 = 内核 + 驱动应用软件 编程 上网 linux系统构成linux内核基本库 应用程序-------------------常见的操 ...
- [转]ubuntu备份与恢复
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供 ...
- swift简介(东拼西凑,看看就的了)
OpenStack Object Storage(Swift)架构.原理及特性 https://yq.aliyun.com/articles/50262 原文 摘要: 简介 OpenStack Obj ...