手把手带你走进Go语言之常量解析

作者:我是小白呀 时间:2024-05-08 10:44:38 

概述

Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. 手把手带你走进Go语言之常量解析

常量

常量 (Constant) 是指程序在执行过程中不会改变的固定值. 常量可以是任何基本数据类型. 如整数常量, 浮点常量, 字符常量, 枚举常量. 常量一般都会被编译器视为常规变量, 只是常量的值不能再定义之后修改.

手把手带你走进Go语言之常量解析

格式 1:


const 变量名 = 值

格式 2:


const 变量名 变量类型

例子:


package main

import "fmt"

func main() {

// 方法一
const num1 = 1

// 方法二
const num2 int = 2

// 调试输出
fmt.Println(num1, num2)
}

输出结果:

1 2

例 2:


package main

import "fmt"

func main() {

// 字符串常量
const str1 = "我是小白呀"

// 整数常量
const int1 = 1

// 浮点常量
const float1 = 1.2

// 布尔类型常量
const boolean1 = true

// 调试输出
fmt.Println(str1)
fmt.Println(int1)
fmt.Println(float1)
fmt.Println(boolean1)
}

输出结果:

我是小白呀
1
1.2
true

常量计算

常量可以使用len(), cap(), unsafe.Sizeof()函数计算表达式的值. 常量表达式中函数必须是内置函数, 否则编译不过.

例子:


package main

import "fmt"
import "unsafe"

// 定义常量
const (
str = "iamlittlewhite"
num = 1
)

func main() {

// 计算字符串长度
fmt.Println(len(str))

// 计算整数占用字节
fmt.Println(unsafe.Sizeof(num))
}

输出结果:

14
8

iota

iota 是 Go 语言的常量计数器, 只能在常量的表达式中使用. iota 在 const 关键字出现时将被重置为 0, const 中每新增一行常量, iota 就会计数一次. iota 可以帮助我们统计常量同一行代码被访问了多少次.

手把手带你走进Go语言之常量解析

例子:


package main

import "fmt"

func main() {

// 定义iota
const (
a = iota
b = iota
c = iota
d = iota
)

// 调试输出
fmt.Println(a, b, c, d)
fmt.Println(a, d)
}

输出结果:

0 1 2 3
0 3

来源:https://blog.csdn.net/weixin_46274168/article/details/119475618

标签:Golang,常量,Go语言
0
投稿

猜你喜欢

  • Django的ListView超详细用法(含分页paginate)

    2021-02-13 00:53:41
  • js substr支持中文截取函数代码(中文是双字节)

    2024-04-10 10:44:58
  • Vue Cli3 创建项目的方法步骤

    2024-05-21 10:16:53
  • MySQL 8.0 对 limit 的优化技巧

    2024-01-19 02:24:38
  • 用css3-tranistions实现平滑过渡

    2009-12-23 19:24:00
  • Django中ORM找出内容不为空的数据实例

    2022-03-24 04:47:56
  • 图文教程教你asp编译成dll组件

    2010-07-16 13:16:00
  • SQL Server修改标识列方法 如自增列的批量化修改

    2024-01-19 04:59:22
  • 对Python使用mfcc的两种方式详解

    2023-06-04 14:56:52
  • Python全栈之队列详解

    2022-10-12 07:51:33
  • python中 OpenCV和Pillow处理图像操作及时间对比

    2021-02-04 16:46:52
  • 详解Vue 多级组件透传新方法provide/inject

    2024-06-05 09:21:03
  • python实现银行账户系统

    2023-05-27 17:49:08
  • Python学习小技巧之利用字典的默认行为

    2021-10-10 23:48:29
  • Java正则表达式的基本用法和实例大全

    2023-04-14 06:17:22
  • Windows版mysql 8.0.28 安装配置方法图文教程

    2024-01-16 08:30:17
  • Vue新玩具VueUse的具体用法

    2024-05-09 15:28:54
  • Sub-Pixel Bug?!

    2010-03-24 18:09:00
  • Python中生成器和迭代器的区别详解

    2022-12-04 02:32:08
  • 浅谈tf.train.Saver()与tf.train.import_meta_graph的要点

    2022-06-02 09:59:32
  • asp之家 网络编程 m.aspxhome.com