分享
  1. 首页
  2. 文章

Go语言学习(二)常量

mChenys · · 1873 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

package main
import "fmt"
//1.定义常量的关键字const
const Pi float64 = 3.14159265358979323846
const zero = 0.0 //无类型浮点常量
const(
 size int64 = 1024
 eof = -1 //无类型整型常量
)
const u,v float32 = 0 , 3 //u=0.0,v=3.0 常量的多重赋值
const a , b , c = 3, 4, "foo" //a=3,b=4,c="foo" 无类型整型和字符常量
// Go的常量定义可以限定常量类型,但不是必需的。如果定义常量时没有指定类型,那么它
// 与字面常量一样,是无类型常量。
// 常量定义的右值也可以是一个在编译期运算的常量表达式,比如
const mask = 1 << 3
//2.预定义常量
//Go语言预定了这些常量:true,false和iota
//iota比较特殊,可以被认为是一个可被编译器修改的常量,在每一个const关键字出现时被重置为0,然后再下一个const常量出现之前,每次出现一次iota,其所代表的数字会自增1
const( //iota被重置为0
 c01 = iota //c01 == 0
 c02 = iota //c02 == 1
 c03 = iota //c03 == 2
)
const( //iota被重置为0
 a0 = 1 << iota //a0 == 1 (1乘以2的0次幂)
 b1 = 1 << iota //b1 == 2 (1乘以2的1次幂)
 c1 = 1 << iota //c1 == 4 (1乘以2的2次幂)
)
const( //iota被重置为0
 u1 = iota * 42 //u1 == 0
 v1 float64 = iota * 42 //v1 ==42.0
 w1 = iota * 42 //w1 ==84
)
const x1 = iota //x1==0 因为iota又被重置为0了
const y1 = iota //y1==0 同上
// 如果两个 const 的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式。因此,上
// 面的前两个 const 语句可简写为:
const(
 c00 = iota
 c11
 c22
)
const(
 a12 = 1 << iota //a12==1 (iota在每个const开头被重置为0)
 b12 //b12==2
 c12 //c12==4
)
func main(){
 //注意:常量的声明不能重复
 fmt.Println("Pi=",Pi)
 fmt.Println("zero=",zero)
 fmt.Println("size=",size)
 fmt.Println("eof=",eof)
 fmt.Printf("u=%v,v=%v\n",u,v)
 fmt.Printf("a=%v,b=%v,c=%v\n",a,b,c)
 fmt.Printf("c01=%v,c02=%v,c03=%v\n",c01,c02,c03)
 fmt.Printf("a0=%v,b1=%v,c1=%v\n",a0,b1,c1)
 fmt.Printf("u1=%v,v1=%v,w1=%v\n",u1,v1,w1)
 fmt.Printf("x1=%v,y1=%v\n",x1,y1)
 fmt.Printf("c00=%v,c11=%v,c22=%v\n",c00,c11,c22)
 fmt.Printf("a12=%v,b12=%v,c12=%v\n",a12,b12,c12)
}

运行结果

这里写图片描述


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:mChenys

查看原文:Go语言学习(二)常量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1873 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏