3.1. 常量与字面常量

未匹配的标注
本文档最新版为 2023,旧版本可能放弃维护,推荐阅读最新版!

常量的定义

一般定义常量使用大写字母,常量里面的值确定好后,后面是不允许修改的

常量可以参与程序的计算
//常量不允许左值赋值

//a=a+10//err

//a=100//err

1. 定义常量

const MAX = "你瞅啥"

2. 运算:计算圆的面积和周长

func main0503() {
    //计算圆的面积和周长
    //面积 PI*r*r  math.Pow(r,2)
    //周长 2*PI*r

    //PI 3.14
    //常量必须定义
    const PI float64 = 3.14
    var r float64

    fmt.Scan(&r)
    //面积
    s := PI * r * r
    //周长
    l := 2 * PI * r
    //fmt.Println(PI)
    fmt.Printf("面积:%.2f\n", s)
    fmt.Printf("周长:%.2f\n", l)

}

3. 常量的地址,不允许访问

    const MAX = "你瞅啥"

    //fmt.Println(MAX)

    //fmt.Printf("%T\n",MAX )

    //go语言常量的地址 不允许访问

    //fmt.Printf("%p",&MAX)//err

4. 问题:什么场景下会用到常量呢?

在程序开发中,我们用常量存储一直不会发生变化的数据,例如:π,身份证号码等。像这类的数据,在整个程序中运行中都是不允许发生改变的。

字面常量

所谓字面常量(literal),是指程序中硬编码的常量,如:

-12
3.14159265358979323846  // 浮点类型的常量
3.2+12i                 // 复数类型的常量
true                    // 布尔类型的常量
"foo"                   // 字符串常量

编程语言源程序中表示固定值的符号叫做字面量,也称字面常量。
一般使用裸字符序列来表示不同类型的值。
字面量可以被编程语言编译器直接转换为某个类型的值。

Go的字面量可以出现在两个地方:一是用于常量和变量的初始化,二是用在表达式中作为函数调用实参。
变量初始化语句中如果没有显式地指定变量类型,则Go编译器会结合字面量的值自动进行类型推断。
Go中的字面量只能表达基本类型的值,Go不支持用户自定义字面量。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~