golang基础--常量与运算符
常量与运算符
常量的定义
常量的值在编译时已经确定
常量的定义格式与变量的基本相同
等号的右侧必须是常量或者常量表达式
规范: 常量定义时建议都使用大写,单词之间使用大写
便于包的外部调用
如果只限于包内部使用在常量开头使用
_或者使用小写c//常量赋值
package main import "fmt"
const a int = 1 //常规写法:声明类型
const b = 'A' //自动判断类型
const(
c = a
d = a + 1
e = a + 2
) const ( //常量组定义方法2
a2, b2, c2 = 1, "2", "c"
)
const a3, b3, c3 = 1, "2", "c" //简单写法,多个定义
const ( //常量组特性:如果常量没有赋值,下面默认使用了之前的常量表达式
a4 = 1
b4
c4
d4
) func main() {
fmt.Println(a4)
fmt.Println(b4)
fmt.Println(c4)
fmt.Println(d4)
} /*output
1
1
1
1
*/
常量与全局变量的区别
常量表达式里面必须使用常量表达式的变量和内置函数,不能使用运行时才能获得的变量和值
package main import "fmt" var sss = 123
const (
//a = len(sss) //这种写法是错误的,无法使用全局变量
b = "123"
c = len(b)
d,f = 1,"abc"
j //这种方式也是错误的,初始化的个数必须相同
) func main() {
//fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
} /*output
123
3
3
*/
枚举结合常量组使用,用于计数
常量组中每定义一个常量,计数就递增1,第一个常量默认为0
当组中常量出现关键字
iota时,说明此时需要使用该组常量的计数//常量&枚举(计数)
package main import "fmt" const (
B1 = "ssss"
A = "a"
B = iota
E
F = iota
) func main() {
fmt.Println(B1)
fmt.Println(A)
fmt.Println(B)
fmt.Println(E)
fmt.Println(F)
} /*output
ssss //iota =0
a //iota=1
2 //iota =2
3
4
*/
运算符
- go中运算符均时从左到右
小练习:尝试结合常量的iota与<<运算符实现计算机储存单位的枚举***
expt:
/*实现计算机储存单位常量的枚举
*/
package main import "fmt"
const (
B float64 = 1 << (iota * 10) //此时iota =0 ,KB
KB // 此时计数为1,MB
MB // iota为2
GB
TB
PB
) func main() {
fmt.Println(B)
fmt.Println(KB)
fmt.Println(MB)
fmt.Println(TB)
fmt.Println(PB)
} /*output
1
1024
1.048576e+06
1.099511627776e+12
1.125899906842624e+15
*/
golang基础--常量与运算符的更多相关文章
- Golang 基础之基础语法梳理 (一)
大家好,今天将梳理出的 Go语言基础语法内容,分享给大家. 请多多指教,谢谢. 本次<Go语言基础语法内容>共分为三个章节,本文为第一章节 Golang 基础之基础语法梳理 (一) Gol ...
- Golang基础教程
以下使用goland的IDE演示,包含总计的golang基础功能共20个章节 一.go语言结构: 二.go基础语法: 三.变量 四.常量 五.运算符 六.条件语句 七.循环 八.函数 九.变量作用域 ...
- GoLang基础数据类型--->数组(array)详解
GoLang基础数据类型--->数组(array)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang数组简介 数组是Go语言编程中最常用的数据结构之一.顾名 ...
- Golang 基础之基础语法梳理 (二)
大家好,今天将梳理出的 Go语言基础语法内容,分享给大家. 请多多指教,谢谢. 本次<Go语言基础语法内容>共分为三个章节,本文为第二章节 Golang 基础之基础语法梳理 (一) Gol ...
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- golang基础知识之encoding/json package
golang基础知识之json 简介 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.可以去json.org 查看json标准的清晰定义.json pack ...
- c++ --> 变量、常量与运算符
变量.常量与运算符 一.什么是变量? 在计算机的内存中, 内存被划分为一个一个的内存单元, 每个内存单元有自己的编号, 而变量就是对某一段连续内存单元使用一些更容易记忆.更容易区分的字符组合 ...
- Golang基础之函数
golang基础之函数 1.为什么需要函数? 有些相同的代码可能出现多次,如果不进行封装,那么多次写入到程序中,会造成程序冗余,并且可读性降低 2.什么是函数 为完成某些特定功能的程序指令集合称为函数 ...
- GoLang基础数据类型--->字典(map)详解
GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...
随机推荐
- delphi中如何控制listview的每行的颜色
我们可以设定一个字段的值,用以判断用什么颜色显示listview的颜色,例子如下 procedure TMainForm.ListView2CustomDrawItem(Sender: TCustom ...
- SqlDataReader 结果集 转成 DataTable
/// <summary> /// SqlDataReader 转成 DataTable /// 源需要是结果集 /// </summary> /// <param na ...
- C#中的split的基本用法
split的使用: 1.使用char()字符分隔:根据单个的char()类型的进行分隔 代码如下: string str="e2kdk2fjod2fiksf21"; ');//因为 ...
- 《JavaScript高级程序设计》5.5 Function类型
5.5 Function类型 函数实质上是对象, 每个函数都是Function类型的实例, 并且都和其他引用类型一样具有属性和方法. 因此函数名实际上也是一个指向函数对象的指针, 不会与某个函数绑定. ...
- Storm的Metric接口简介
本文由作者林洋港授权网易云社区发布. 作为服务端程序,我们总是需要向外界报告一些统计数据,以助于了解系统的运行情况,比如某个接口的调用时间.系统处理的请求数等等.当我们的程序以Storm Topolo ...
- Python对excel表格的操作.
参考博客: https://blog.csdn.net/lmj19851117/article/details/78814721 ####一.excel的读取操作xlrd#### import xlr ...
- 协程IO多路复用
协程:单线程下实现并发并发:伪并行,遇到IO就切换,单核下多个任务之间切换执行,给你的效果就是貌似你的几个程序在同时执行.提高效率任务切换 + 保存状态并行:多核cpu,真正的同时执行串行:一个任务执 ...
- poj3070 Fibonacci(矩阵快速幂)
矩阵快速幂基本应用. 对于矩阵乘法与递推式之间的关系: 如:在斐波那契数列之中 f[i] = 1*f[i-1]+1*f[i-2] f[i-1] = 1*f[i-1] + 0*f[i-2].即 所以, ...
- python学习笔记08-字符串
字符串是用单引号或者双引号引起来来的 单引号和双引号没有什么区别 1字符串支持乘法操作 >>> print('hello'*2) hellohello >>> 2 ...
- 下载一个vue项目执行npm install 后运行项目npm run dev后出错 - 问题解决
在SVN上拉下来一个vue项目,上面没有提交项目里面的node_modules文件夹,所以要自己执行 npm install 安装,但安装完后运行项目后却报错了: $ npm run dev > ...