手记

Go语言之常量与运算符


用例1

//此文件用来练习

//常量与运算符的

package main

import "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 main

import "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 main

import "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 main

import "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 main

import "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 main

import "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 main

import "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语言中的运算符

Go语言之常量与运算符

移位运算符

1、左移 右移 测试

//此文件用来练习

//常量与运算符的

package main

import "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、位运算符

Go语言之常量与运算符

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

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

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

//此文件用来练习

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

// byte, KB,MB,GB,TB,PB等等

package main

import "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)

}

©著作权归作者所有:来自51CTO博客作者故新的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP