Golang aoit

在 Go 里是 —— 不变的。它们在编译时生成,即便是局部定义在函数里。它只能是数,字串或布尔。因为编译态的限制,定义它们的表达式必须是常量表达式,可以被编译器求值。例如,1<<3 是常量表达式, math.Sin(math.Pi/4) 不是,因为 math.Sin 的函数调用发生在运行态。

Go 的列举常量可用 iota 生成。 因为 iota 可以是表达式的一部分,并且表达式可以隐含重复,打造一套精致的值可以变得很容易。

type ByteSize float64

const (

_ = iota  // ignore first value by assigning to blank identifier

KB ByteSize = 1<<(10*iota)

MB

GB

TB

PB

EB

ZB

YB

)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文为转载,原文:Golang 学习笔记(01)—— 基础 Golang介绍 Go语言是由Google开发的一个开...
    ChainZhang阅读 1,526评论 0 8
  • 出处---Go编程语言 欢迎来到 Go 编程语言指南。本指南涵盖了该语言的大部分重要特性 Go 语言的交互式简介,...
    Tuberose阅读 18,501评论 1 46
  • 昨天我花了70元买的斯凯奇健步鞋到货了,嘿,穿起来恰恰合脚,舒适感绝不比正品差,可是正品要五百多呢! 我还有一把阳...
    赤蛇郎君阅读 525评论 5 5
  • 书名:《如何高效学习》 1.底层知识 问题的深层次原因 追溯根源,少走弯路 2.整体理解 知识与知识之间的关联 3...
    把快乐带给你阅读 99评论 0 0
  • 尊重只有两个字,确是人与人相处最宝贵的要素。有人问我为什么看起来对于那些陌生客户能很好的破冰。我的回答是,因为不认...
    雷姐如是说阅读 179评论 0 0