为了账号安全,请及时绑定邮箱和手机立即绑定

Go语言之常量与运算符

标签:
Go

用例1

//此文件用来练习//常量与运算符的package mainimport "fmt"//定义单个常量const SPARK_NAME = "spark-test001"const NODE_NUM int = 3//下面的方式,只是简写const (    CPU    = 3.4    MEMORY = 1024)//同时定义多个变量const FTP_NAME, ES_NAME, YARN_NAME = "ftp-beijing", "es-beijing", "yarn-shanghai"const (    ftp_cpu, es_cpu, yarn_cpu = 3.4, 5.6, 8.9)func main() {    fmt.Println("spark_name:\t", SPARK_NAME)    fmt.Println("node_num:\t", NODE_NUM)    fmt.Println("cpu:\t",CPU)    fmt.Println("ftp_name:\t", FTP_NAME)    fmt.Println("es_name:\t", ES_NAME)    fmt.Println("yarn_name:\t",YARN_NAME)    fmt.Println("ftp_cpu:\t",ftp_cpu)    fmt.Println("es_cpu:\t", es_cpu)    fmt.Println("yarn_cpu:\t", yarn_cpu)}

用例2

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    a = "A"    //定义常量组时,如果不提供初始化值的话,则表示将使用上行的表达式    //因此,b,d,d的值全是A    b    c    d)func main() {    fmt.Println(a)    fmt.Println(b)    fmt.Println(c)    fmt.Println(d)}

枚举

举例1

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    z = "A"    //iota是常量的计数器,从0开始,组中每定义1个常量自动递增1    //通过初始化规则与iota可以达到枚举的效果    //每遇到一个const关键字,iota就会重置为0    b = iota    c    d)func main() {    fmt.Println(z)    fmt.Println(b) //1    fmt.Println(c) //2    fmt.Println(d) //3}

举例2

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    z = "A"    b = iota    c = iota    d)func main() {    fmt.Println(z)    fmt.Println(b) //1    fmt.Println(c) //2    fmt.Println(d) //3}

举例3

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    //第一个常量不可省略表达式    Monday    = iota    Tuesday    Wednesday    Thursday    Friday    Saturday    Sunday)func main() {    fmt.Println(Monday)    //0    fmt.Println(Tuesday)   //1    fmt.Println(Wednesday) //2    fmt.Println(Thursday)  //3    fmt.Println(Friday)    //4    fmt.Println(Saturday)  //5    fmt.Println(Sunday)    //6}

举例4

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    //第一个常量不可省略表达式    Monday    = iota    Tuesday    Wednesday = "we"    Thursday = iota    Friday  = "go"    Saturday = iota    Sunday)func main() {    fmt.Println(Monday)    //0    fmt.Println(Tuesday)   //1    fmt.Println(Wednesday) //we    fmt.Println(Thursday)  //3    fmt.Println(Friday)    //go    fmt.Println(Saturday)  //5    fmt.Println(Sunday)    //6}

举例4

//此文件用来练习//常量与运算符的package mainimport "fmt"const (    Monday    = "spark"    Tuesday   = "hadoop"    Wednesday = "k8s"    Thursday = iota    Friday    Saturday    Sunday)func main() {    fmt.Println(Monday)    //spark    fmt.Println(Tuesday)   //hadoop    fmt.Println(Wednesday) //k8s    fmt.Println(Thursday)  //3    fmt.Println(Friday)    //4    fmt.Println(Saturday)  //5    fmt.Println(Sunday)    //6}

Go语言中的运算符


移位运算符

1、左移 右移 测试

//此文件用来练习//常量与运算符的package mainimport "fmt"func main() {    //移位运算符测试    fmt.Println(1 << 1)              //2    fmt.Println(1 << 2)              //4    fmt.Println(1 << 4)              //16    fmt.Println(1 << 10)             //1024    fmt.Println(1 << 10 << 10)       //1048576    fmt.Println(1 << 10 << 10 >> 10) //1024}

2、位运算符


A&^B 表示 如果B的某个位置是1的话,就强制将对应位置的A上元素,强制转换为0

&& 好处就是第一个失败后,就不会进行后面的判断了

结合常量iota与<< 运算符实现计算机存储单位的枚举

//此文件用来练习//目的:结合常量iota与<< 运算符实现计算机存储单位的枚举// byte, KB,MB,GB,TB,PB等等package mainimport "fmt"const(    byte float64 = 1 << (iota * 10)    //说明:    //下面的常量,并没有初始化,就会默认采用上面的表达式    // KB = 1 << (iota * 10), 只是,iota 再不断的增加    KB    MB    GB)func main() {    fmt.Println(byte)    fmt.Println(KB)    fmt.Println(MB)    fmt.Println(GB)}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消