Go常量
1. 常量
package main import "fmt" func main() {
/*
常量:
1.概念:同变量类似,程序执行过程中数值不能改变
2.语法:
显式类型定义: const b string = "abc"
隐式类型定义: const b = "abc" 3.常数:
固定的数值:100,"abc"
*/
fmt.Println(100)
fmt.Println("hello") //1.定义常量
const PATH string = "http:www.baidu.com"
const PI = 3.14
fmt.Println(PATH)
//fmt.Println(PI) //2.尝试修改常量的数值
//PATH = "http://www.sina.com" //cannot assign to PATH //3.定义一组常量
const C1, C2, C3 = 100, 3.14, "haha"
const (
MALE = 0
FEMALE = 1
UNKNOW = 3
)
//4.一组常量中,如果某个常量没有初始值,默认和上一行一致
const (
a int = 100
b
c string = "ruby"
d
e
)
fmt.Printf("%T,%d\n", a, a)
fmt.Printf("%T,%d\n", b, b)
fmt.Printf("%T,%s\n", c, c)
fmt.Printf("%T,%s\n", d, d)
fmt.Printf("%T,%s\n", e, e) //5. 枚举类型:使用常量组作为枚举类型。一组相关数值的数据
const (
SPRING = 0
SUMMER = 1
AUTUMN = 2
WINTER = 3
) // 注意:
// 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
// 不曾使用的常量,在编译的时候,是不会报错的
// 显示指定类型的时候,必须确保常量左右值类型一致,需要时可做显示类型转换。这与变量就不一样了,变量是可以是不同的类型值 }
2. iota
package main import (
"fmt"
) func main() {
/*
iota:特殊的常量,可以被编译器自动修改的常量
每当定义一个const,iota的初始值为0
每当定义一个常量,就会自动累加1
直到下一个const出现,清零
*/
const (
a = iota // 0
b = iota // 1
c = iota //2
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c) const (
d = iota // 0
e // 1
)
fmt.Println(d)
fmt.Println(e) //枚举中
const (
MALE = iota // 0
FEMALE // 1
UNKNOW // 2
)
fmt.Println(MALE, FEMALE, UNKNOW) }
package main import "fmt" func main() {
const (
A = iota // 0
B // 1
C // 2
D = "haha" // iota = 3
E // haha iota = 4
F = 100 //iota =5
G //100 iota = 6
H = iota // 7
I //iota 8
)
const (
J = iota // 0
)
fmt.Println(A)
fmt.Println(B)
fmt.Println(C)
fmt.Println(D)
fmt.Println(E)
fmt.Println(F)
fmt.Println(G)
fmt.Println(H)
fmt.Println(I)
fmt.Println(J)
}
Go常量的更多相关文章
- C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)
#include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...
- JavaScript 常量定义
相信同学们在看见这个标题的时候就一脸懵逼了,什么?JS能常量定义?别逗我好吗?确切的说,JS当中确实没有常量(ES6中好像有了常量定义的关键字),但是深入一下我们可以发现JS很多不为人知的性质,好好利 ...
- ES6之变量常量字符串数值
ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...
- Java常量的应用
所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变. 语法:final 常量名 = 值; 使用fianl关键字 常量名 值 final String a1 = &qu ...
- 原创 C++之常量(二)
4常量的内存分配 4.1应用程序的内存结构 一个由C++编译的应用程序,占用的内存可以划分为如下几个部分: 栈(stack).由编译器自动分配释放.存放函数参数和函数里的局部变量(又称自动变量).其操 ...
- 原创 C++之常量(一)
1概述 一个C++程序就是一系列数据与操作的集合.当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中.当数据与内存发生关联的时候,这些数据就会具有如下的特性: 数据在内存中的地址.这 ...
- 1.2 - C#语言习惯 - 用运行时常量readonly而不是编译期常量const
C#中有两种类型的常量:编译期常量和运行时常量.二者有着截然不同的行为,使用不当将会带来性能上或正确性上的问题. 这两个问题最好都不要发生,不过若难以同时避免的话,那么一个略微慢一些但能保证正确的程序 ...
- swift 简介和常量与变量 --- swift 入门
一.思维导图 二. 代码 //创建UIView 和按钮 let views = UIView(frame: CGRect(x:20, y: 20, width: 100, height: 100))/ ...
- java为什么非静态内部类中不能有static修饰的属性,但却可以有常量?
如:public class InnerClassDemo{int x;class A{static int a = 0;//这样写是不合法的.static final int b=0;//这样写是合 ...
- String字符串针对常量池的优化
String对象是java语言中重要的数据类型,但是不是基本数据类型.相对于c语言的char java做了一些封装和延伸. 针对常量池的优化:当两个String拥有相同的值时,它们只引用常量池中的同一 ...
随机推荐
- nginx 部署php项目 404
服务器重启了一下 然后访问程序报错404的情况 文件存在位置没有问题 niginx配置根目录没有问题 最后检查到端口的时候发现php-fpm的9000端口未打开 service php-fpm res ...
- 题解 【洛谷P4995】跳跳!
一看题目名字,下意识地认为DP. 打开题目,发现是一道水的贪心,和DP没一分钱关系(毕竟是洛谷最水月赛的T2). 废话不多说. 看完题面,首先想到排序.要将乱序的石头高度变为有序,才能更好地想题. C ...
- 【Python】字符串处理方法
- 第一篇 网站基础知识 第3章 DNS的设置
第3章 DNS的设置 3.1 DNS解析 3.2 Windows 7设置DNS服务器 3.3Windows设置本机域名和IP的对应关系 在自己的电脑里也可以设置域名和IP的对应关系,具体设置是在C:\ ...
- shell 预定义变量
echo "上一次后台pid is $!"echo "当前进程pid is $$"echo "last command return code is ...
- css 页面滚动 多背景固定不动
经常看到一些网站,滚动页面但是背景图不会跟着滚动,好像一直固定在浏览器窗口,感觉挺酷的,哇哦 ~ ~ 原来都是 background-attachment 这位大兄弟的功劳 background-at ...
- JS高级---bind方法的使用
bind方法的使用 //通过对象,调用方法,产生随机数 function ShowRandom() { //1-10的随机数 this.number = parseInt(Math.random() ...
- Git 从远端指定分支克隆代码到本地
不指定分支默认是master git clone + clone 地址 # 例如 git clone https://amc-msra.visualstudio.com/xxx/_xx/xxxxxx ...
- KMP算法例题
链接:https://codeforces.com/contest/1200/problem/E 题意:依次合并两个单词,每次合并将删去最长相同前后缀,输出结果. 思路:用kmp跑出每个需要被连接的单 ...
- 题解【2.23考试T2】str
2. str [题目描述] 这是一道传统题,源代码的文件名为 str.cpp/c/pas. 构造 n 个 01 字符串 S1...Sn,使得对于任意 i≠j,Si 不是 Sj 的前缀.在最小化串长和的 ...