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

目录
  • 概述
  • 常量
  • 常量计算
  • iota

概述

Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 3 课)

常量

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

格式 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 可以帮助我们统计常量同一行代码被访问了多少次.

例子:

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

到此这篇关于手把手带你走进Go语言之常量解析的文章就介绍到这了,更多相关Golang 常量内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Golang编程中的常量与变量

    Go语言常量 常量是指该程序可能无法在其执行期间改变的固定值.这些固定值也被称为文字. 常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型.还有枚举常量. 常量是一样,只是它们的值不能自己定义后进行修改常规变量处理. 整型常量 一个整数文字可以是十进制,八进制,或十六进制常数.前缀指定基或基数:0x或0X的十六进制,0表示八进制,并没有为十进制. 一个整数文字也可以有一个后缀为U和L的组合,分别为无符号和长整型.后缀可以是大写或小写,并且可以以任意顺序. 这里是整数常

  • Golang常量iota的使用实例

    Codes package main import "fmt" type color byte const ( black color = iota red blue ) func test(c color) { fmt.Println(c) } func main() { const ( x = iota // 0 y // 1 z // 2 ) fmt.Printf("x=%v, y=%v, z=%v\n", x, y, z) const ( _ = iota

  • Golang学习笔记(二):类型、变量、常量

    基本类型 1.基本类型列表 复制代码 代码如下: 类型        长度     说明 bool         1      true/false,默认false, 不能把非0值当做true(不用数字代表true/false) byte         1      uint8 别名 rune         4      int32别名. 代表一个unicode code point int/unit            一来所运行的平台,32bit/64bit int8/uint8  

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

    目录 概述 常量 常量计算 iota 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 3 课) 常量 常量 (Constant) 是指程序在执行过程中不会改变的固定值. 常量可以是任何基本数据类型. 如整数常量, 浮点常量, 字符常量, 枚举常量. 常量一般都会被编译器视为常规变量, 只是常量的值不能再定义之后修改. 格式 1: const 变量名 = 值 格式 2: const 变量名 变量类型 例子: package main i

  • 手把手带你走进Go语言之运算符解析

    目录 概述 Go 运算符 算术运算符 关系运算符 逻辑运算符 赋值运算符 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. Go 运算符 运算符 (operator) 可以帮助我们在程序中执行数学或逻辑运算. Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 取余 ++ 自增 – 自减 例子: package main import "f

  • 手把手带你走进Go语言之语法基础解析

    目录 概述 Go 语法基础 关键字 标识符 数据类型 变量声明 多变量声明 值类型和引用类型 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 2 课) Go 语法基础 Go 程序可以由多个标记组成: 关键字 标识符 常量 字符串 符号 关键字 Go 语言有 25 个关键字: 关键字 作用 var & const 变量和常量的声明 package & import 导入 func 用于定义函数和方法 return 用于函数返回 d

  • 手把手带你走进Go语言之条件表达式

    目录 概述 if 语句 switch 语句 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 6 课) if 语句 通过一条或多条语句的执行结果来决定执行的代码块. 如图: 格式: if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } else if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } else if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } else { /* 上

  • 手把手带你走进Go语言之循环语句

    目录 概述 循环语句 方法一 方法二 方法三 break 关键字 continue 关键字 goto 关键字 [Golang]✔️走进 Go 语言✔️ 第六课 条件表达式 概述循环语句方法一方法二方法三break 关键字continue 关键字goto 关键字 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. (第 6 课) 循环语句 使用好循环语句可以帮助我们提升代码的简洁性, 提高代码效率. 方法一 格式: for init; condi

  • 手把手带你走进Go语言之类型转换

    目录 概述 数据类型转换 浮点转整数 字符串转整数 整数转字符串 概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. 数据类型转换 数据类型转换可以帮助我们将一种数据类型的变量转换为另外一个种类型的变量. 格式: type_name(expression) 浮点转整数 浮点转整数是从高精度向低精度转换, 小数点后面会被舍弃. 例子: package main import "fmt" func main() { // 定义float

  • C语言手把手带你掌握带头双向循环链表

    目录 前言 带头双向循环链表的结构 代码操作 前言 关于链表这一块,写了多篇博客,学习了顺序表.单链表.及其一些练习题 顺序表:传送门:顺序表 单链表:传送门:单链表1   链表2 链表OJ:传送门:链表OJ 今天,我又来水一水博客, 介绍关于双链表. 带头双向循环链表的结构 实际上,单链表也存在一个比较大的缺陷: 1.不能从后往前遍历 2.无法找到前驱 除了单链表之外,我们自然还有双向链表,我们要说的就是带头双向循环链表,简单理解为:带头结点的,有两个方向的.循环的.结构图如下: 结构虽然比较

  • 一文带你走进js-数据类型与数据结构的世界

    目录 2. 数据类型 2.1 原始类型(6 种原始类型,使用 typeof 运算符检查) 2.2 null 与 Object 3. 原始值 3.1 原始值基本概念 3.2 各类型说明 1. 什么叫动态类型 JavaScript 是一种弱类型或者说动态语言. 我们不用提前声明变量的类型,在程序运行过程中,类型会被自动确定. 这也意味着你可以使用同一个变量保存不同类型的数据 let a; // 初始不给任何类型 a = 11; // a此时是number类型 a = "二大爷"; // a

  • 带你了解Python语言的神奇世界

    目录 一.特点 二.语法 三.表达式 四.变量 五.缩进 六.数据类型 七.Python值得学习嘛? Python是世界上最流行的解释型编程语言之一. 由 Guido van Rossum 设计,作为"ABC"编程语言的继承者",于 1991 年首次发布.它是一种高级通用语言,其设计理念是通过使用缩进来强调代码的可读性.Python 的语言结构旨在帮助程序员为小型和大型项目编写逻辑代码. Python 是一种面向对象.解释型.弱类型的脚本语言,它也是一种功能强大而完善的通用型

  • 一文带你走进js数据类型与数据结构的世界

    目录 1. 什么叫动态类型 2. 数据类型 2.1 原始类型(6 种原始类型,使用 typeof 运算符检查) 2.2 null 与 Object 2.3 typeof 操作符重点说明 3. 原始值 3.1 原始值基本概念 3.2 各类型说明 1. 什么叫动态类型 JavaScript 是一种弱类型或者说动态语言. 我们不用提前声明变量的类型,在程序运行过程中,类型会被自动确定. 这也意味着你可以使用同一个变量保存不同类型的数据 let a; // 初始不给任何类型 a = 11; // a此时

随机推荐