编程笔记 Golang基础 010 常量和变量

这篇具有很好参考价值的文章主要介绍了编程笔记 Golang基础 010 常量和变量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Go 语言中,常量(Constant)是一个固定的值,在程序运行期间不可被修改。它们通常用来表示那些在整个程序执行过程中不会变化的数值或其他类型的数据。在 Go 语言中,变量是用来存储数据的容器。

一、常量

在 Go 语言中,常量(Constant)是一个固定的值,在程序运行期间不可被修改。它们通常用来表示那些在整个程序执行过程中不会变化的数值或其他类型的数据。以下是关于 Go 语言中常量的几个关键点:

  1. 定义
    常量使用 const 关键字进行声明和定义,并且在声明时必须初始化赋值。

    const Pi = 3.14159265358979323846 // 定义一个浮点型常量
    const MaxUsers = 1000               // 定义一个整型常量
    const (
        StatusActive = iota
        StatusInactive
        StatusPending
    ) // 使用 iota 创建枚举型常量
    
  2. 数据类型
    常量可以是以下类型:

    • 布尔型 (truefalse)
    • 数字型(包括整数、浮点数和复数)
    • 字符串型
  3. 类型推导
    Go 会根据初始化表达式的类型自动推断常量的类型,也可以显式地指定类型。

    const IntConst int = 42     // 显式指定整型
    const StrConst = "Hello"    // 自动推断为字符串类型
    
  4. 访问权限
    常量名的首字母大小写决定了其可访问性,遵循 Go 的导出规则:

    • 首字母大写的常量可以在包外部被其他包引用。
    • 首字母小写的常量只能在当前包内使用。
  5. iota
    iota 是 Go 语言中的特殊常量,它代表的是当前行的连续整数值,可用于创建枚举或一系列相关联的常量。

  6. 无类型常量
    Go 语言还支持无类型的布尔型、数字型和字符串型常量,这些常量没有明确的底层类型,但可以在适当上下文中转换成具体类型。

通过以上要点,我们可以更好地理解并运用 Go 语言中的常量特性来编写更加简洁和安全的代码。

二、变量

在数学中,变量是一个符号或代数实体,用来表示一个数值,该数值可以在特定的上下文中改变或者可以取不同值。变量通常用拉丁字母(如 x、y、z)或其他符号来表示,并且在数学表达式、方程、函数和不等式中扮演着核心角色。
例如,在方程式 y = 2x + 1 中,变量包括:
x:独立变量,它的取值可以自由变化。
y:依赖变量,其值随着 x 的变化而变化,由给定的函数关系确定。
变量的概念使得数学能够处理一般情况而不是仅仅具体的数值实例,这样我们就可以描述广泛的现象和规律,而不受具体数字的限制。通过使用变量,数学家能够构建模型、解决问题,并进行抽象推理。
在 Go 语言中,变量是用来存储数据的容器。以下是关于 Go 语言中变量的一些关键特性:

  1. 声明
    变量通过 var 关键字进行声明。基本语法如下:

    var variableName type = value
    

    其中:

    • variableName 是你为变量指定的名字。
    • type 是变量的数据类型,如 intstringbool 等。
    • value 是可选的,用于初始化变量的初始值。

    示例:

    var age int = 25
    var name string = "Alice"
    
  2. 简短声明(Short Declaration)
    Go 语言还支持一种简洁的方式来声明和初始化变量,使用 := 运算符,编译器会根据右侧表达式自动推断出变量的类型:

    age := 25 // 类型推断为 int
    name := "Bob" // 类型推断为 string
    

    注意:在函数内部使用简短声明时,如果变量名未被先前声明过,它会同时声明并初始化变量;如果变量名已存在,则只会给该变量赋新值,并且可以省略类型。

  3. 类型推断
    当声明变量时提供了初始值,Go 会自动推断出变量的类型,无需显式声明类型。

  4. 变量作用域
    变量的作用域从声明处开始到其所在块结束。例如,在函数内部声明的变量只在该函数体内可见,而在包级别声明的变量在整个包内可见。

  5. 零值
    如果不初始化变量,它们将具有各自类型的零值,比如整数是0,字符串是空字符串(""),布尔值是 false 等。

  6. 变量命名规则

    • 变量名必须以字母或下划线开头。
    • 变量名后续字符可以包含字母、数字和下划线。
    • 变量名大小写敏感,myVarmyvar 是两个不同的变量。
    • 不允许使用 Go 的关键字作为变量名。
  7. 多重变量声明
    可以一次声明多个变量,只需用逗号分隔各个变量名和类型即可:

    var (
        firstName string = "John"
        lastName  string = "Doe"
    )
    
  8. 变量重新声明
    在同一个作用域内,不能重声明同名变量,但可以通过简短声明来改变一个已声明变量的值。在不同作用域内,可以声明相同名称的变量。

小结

计算机程序主要通过数据处理来解决问题,那么在处理中是通过变量来完成的,所有变量就编程的具体对象,深入掌握变量及其用法就非常重要。文章来源地址https://www.toymoban.com/news/detail-833676.html

到了这里,关于编程笔记 Golang基础 010 常量和变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编程笔记 Golang基础 016 数据类型:数字类型

    在Go语言中,数字类型是其丰富数据类型的一部分,主要用于表示数值。 以下是Go语言中主要的数字类型详解: 1. 整数类型(Integer Types) a) 固定长度整数: 有符号整数 : int8 :8位带符号整数,范围从-128到127。 int16 :16位带符号整数,范围从-32,768到32,767。 int32 :32位带符号

    2024年02月22日
    浏览(47)
  • 编程笔记 Golang基础 011 控制台输入与输出

    Golang控制台输入与输入是用内置的 fmt 包来完成的。初学时要经常用到。 在软件开发工具(如Goland)中,控制台通常指的是集成开发环境(IDE)中的一个组件或面板,它模拟了命令行界面(CLI),允许开发者直接在IDE内部运行和调试程序,以及与操作系统进行交互。这个“控

    2024年02月20日
    浏览(59)
  • 编程笔记 Golang基础 007 第一个程序:hello world 使用Goland

    开始在Goland环境中编程go语言代码啦。 打开GoLand软件。 选择 “File”(文件)菜单,然后点击 “New Project”(新建项目)或使用快捷键 Ctrl+Shift+A 并搜索 “New Project”。 在新建项目向导中,选择 “Go” 并点击 “Next” 按钮。 配置项目设置: 为项目选择一个合适的保存位置。

    2024年02月20日
    浏览(44)
  • Golang 基本常量声明及 iota 使用

    普通声明时,与局部变量声明的方式一致: 多行常量声明时,如果常量值表达式为空,则会和前一个常量的值表达式相同。 iota 是常量声明时的一个自增的特殊变量; iota 在const 内部的第一行出现时,值为0,后续每新增一行,iota都会自增1。(可以理解为行索引或者行号)

    2024年02月13日
    浏览(44)
  • golang学习笔记(defer基础知识)

    defer语句用于golang程序中延迟函数的调用, 每次defer都会把一个函数压入栈中, 函数返回前再把延迟的函数取出并执行。 为了方便描述, 我们把创建defer的函数称为主函数, defer语句后面的函数称为延迟函数。延迟函数可能有输入参数, 这些参数可能来源于定义defer的函数,

    2024年04月25日
    浏览(47)
  • Golang笔记:UDP基础使用与广播

    UDP是比较基础常用的网络通讯方式,这篇文章将介绍Go语言中UDP基础使用的一些内容。 本文中使用 Packet Sender 工具进行测试,其官网地址如下: https://packetsender.com/ UDP是一种面向无连接的通讯,抛开业务逻辑来说UDP使用上不需要像TCP那样先建立连接才能使用,收就是收、发就

    2024年02月09日
    浏览(40)
  • Golang -> Golang 变量

    案例: 第一种:指定变量类型,声明后若不赋值,使用默认值 Golang 的变量如果没有赋初值,编译器会使用默认值 比如 int 默认值 0, string 默认值为空串, 小数默认为 0 第二种:根据值自行判定变量类型(类型推导) , 不使用默认值 第三种:省略 var 注意 :=左侧的变量不应该是已

    2024年02月11日
    浏览(42)
  • Golang 局部变量、全局变量 声明

    四种声明方式 + 多变量声明: 全局变量的声明和局部变量的声明方式一、二、三 相同; 但是不能使用局部变量声明方式四 (:=) 来声明全局变量。

    2024年02月13日
    浏览(37)
  • python教程 入门学习笔记 第3天 编程基础常识 代码注释 变量与常量

    编程基础常识 一、注释 1、对代码的说明与解释,它不会被编译执行,也不会显示在编译结果中 2、注释分为:单行注释和多行注释 3、用#号开始,例如:#这是我的第一个python程序 4、注释可以写在单独一行,也可以写在一句代码后面 5、不想执行编译,又不能删除的代码,可

    2024年02月14日
    浏览(55)
  • golang变量初始化顺序

    顺序: 1.引用的包 2.全局变量 3.init()函数 4.main()函数 输出 $ go run 1.go pkg init func() main init main()

    2024年04月17日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包