编程笔记 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. 变量重新声明
    在同一个作用域内,不能重声明同名变量,但可以通过简短声明来改变一个已声明变量的值。在不同作用域内,可以声明相同名称的变量。

小结

计算机程序主要通过数据处理来解决问题,那么在处理中是通过变量来完成的,所有变量就编程的具体对象,深入掌握变量及其用法就非常重要。

相关推荐

  1. 编程笔记 Golang基础 010 常量变量

    2024-02-22 01:50:01       30 阅读
  2. 编程笔记 Golang基础 012 项目构建

    2024-02-22 01:50:01       30 阅读
  3. 编程笔记 Golang基础 020 流程控制

    2024-02-22 01:50:01       34 阅读
  4. Go基础编程 - 04 - 基本类型、常量变量

    2024-02-22 01:50:01       9 阅读
  5. 编程笔记 Golang基础 011 控制台输入与输出

    2024-02-22 01:50:01       27 阅读
  6. 编程笔记 Golang基础 016 数据类型:数字类型

    2024-02-22 01:50:01       29 阅读
  7. 编程笔记 Golang基础 015 数据类型:布尔类型

    2024-02-22 01:50:01       33 阅读
  8. C++ 01 基础教程 03 变量常量

    2024-02-22 01:50:01       28 阅读
  9. 编程笔记 Golang基础 006 Goland开发环境搭建

    2024-02-22 01:50:01       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 01:50:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 01:50:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 01:50:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 01:50:01       20 阅读

热门阅读

  1. YOLOV8改进系列指南

    2024-02-22 01:50:01       33 阅读
  2. C++程序设计学习笔记(一)

    2024-02-22 01:50:01       24 阅读
  3. 【开源软件的影响力有多大?】

    2024-02-22 01:50:01       30 阅读
  4. 让图片说话SadTalker

    2024-02-22 01:50:01       33 阅读
  5. 嵌入式学习day22 Linux

    2024-02-22 01:50:01       28 阅读
  6. Linux--shell编程中的for循环

    2024-02-22 01:50:01       35 阅读
  7. SQL 和 NoSQL 有什么区别?

    2024-02-22 01:50:01       24 阅读
  8. 【菜鸡常见网络问题汇总】之:ARP详解

    2024-02-22 01:50:01       37 阅读
  9. 运动重定向学习笔记

    2024-02-22 01:50:01       29 阅读
  10. 数据安全:证书和密钥对概念详解

    2024-02-22 01:50:01       31 阅读
  11. @Validated 统一参数检验

    2024-02-22 01:50:01       27 阅读