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

 更新时间:2021年09月10日 16:15:53   作者:我是小白呀  
这篇文章主要介绍了Go语言之常量解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

概述

Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. 在这里插入图片描述

常量

常量 (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 常量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 手把手教你导入Go语言第三方库

    手把手教你导入Go语言第三方库

    本文主要介绍了手把手教你导入Go语言第三方库,通过导入gin包来深入学习,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • 详解Golang函数式选项(Functional Options)模式

    详解Golang函数式选项(Functional Options)模式

    什么是函数式选项模式,为什么要这么写,这个编程模式解决了什么问题呢?其实就是为了解决动态灵活的配置不同的参数的问题。下面通过本文给大家介绍Golang函数式选项(Functional Options)模式的问题,感兴趣的朋友一起看看吧
    2021-12-12
  • Go 常见设计模式之单例模式详解

    Go 常见设计模式之单例模式详解

    单例模式是设计模式中最简单的一种模式,单例模式能够确保无论对象被实例化多少次,全局都只有一个实例存在,在Go 语言有多种方式可以实现单例模式,所以我们今天就来一起学习下吧
    2023-07-07
  • Go语言正则表达式用法实例小结【查找、匹配、替换等】

    Go语言正则表达式用法实例小结【查找、匹配、替换等】

    这篇文章主要介绍了Go语言正则表达式用法,结合实例形式分析了Go语言基于正则实现查找、匹配、替换等基本操作的实现技巧,需要的朋友可以参考下
    2017-01-01
  • 使用Go语言实现敏感词过滤功能

    使用Go语言实现敏感词过滤功能

    敏感词过滤,算是一个比较常见的功能,尤其是在内容、社交类应用中更是如此,本文介绍如何使用Go语言实现简单的敏感词过滤功能,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Go语言实现定时器的原理及使用详解

    Go语言实现定时器的原理及使用详解

    这篇文章主要为大家详细介绍了Go语言实现定时器的两种方法:一次性定时器(Timer)和周期性定时器(Ticker),感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12
  • 详解golang中 work与 module 的区别与联系

    详解golang中 work与 module 的区别与联系

    Go 模块通常由一个项目或库组成,并包含一组随后一起发布的 Go 包,Go 模块通过允许用户将项目代码放在他们选择的目录中并为每个模块指定依赖项的版本,解决了原始系统的许多问题,本文将给大家介绍一下golang中 work与 module 的区别与联系,需要的朋友可以参考下
    2023-09-09
  • golang使用泛型结构体实现封装切片

    golang使用泛型结构体实现封装切片

    这篇文章主要为大家详细介绍了golang使用泛型结构体实现封装切片,即封装切片的增、删、改、查、长度大小、ForEach(遍历切片),感兴趣的小伙伴可以学习一下
    2023-10-10
  • Go语言中Slice常见陷阱与避免方法详解

    Go语言中Slice常见陷阱与避免方法详解

    这篇文章主要为大家详细介绍的是 Go 语言中的 Slice 的常见陷阱以及如何避免这些错误,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2023-02-02
  • GO语言实现简单的目录复制功能

    GO语言实现简单的目录复制功能

    这篇文章主要介绍了GO语言实现简单的目录复制功能,通过新建及复制内容等操作最终实现复制目录的功能效果,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论