写点什么

【愚公系列】2022 年 7 月 Go 教学课程 005- 变量

作者:愚公搬代码
  • 2022 年 7 月 06 日
  • 本文字数:961 字

    阅读完需:约 3 分钟

一、变量

1.变量的定义

变量来源于数学,用于描述计算机中的数据存储空间。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如 Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在 Java 和 Visual Basic 中);但另外一些语言可能使用其它概念(如 C 的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

2.变量的作用

变量的作用就是在内存中标记和存储数据。


内存,全称内存储器。用于存放计算机运行过程中的数据。



计算机为了更好的存储数据,将内存分为不同的存储单元如下:



从内存中取出一个存储单元,存储相应的数据:



比如上述红色区域,变量名=区域的名字,数据就存在区域中

3.变量的声明和初始化

3.1 变量的声明

Go 是静态语言,所有变量在使用前必须先进行声明。声明的意义在于告诉编译器该变量可以操作的内存的边界信息,而这种边界通常又是由变量的类型信息提供的。在 Go 语言中,有一个通用的变量声明方法是这样的:



变量的使用


fmt.Println(a)
复制代码

3.2 变量的初始化

在定义变量的时候可以赋值,这个过程称为变量初始化


var age int=10
复制代码


3.3 变量的赋值

可以在变量定义完成之后再给变量赋值,先声明后赋值。


var age,num int age=10num=20fmt.Println(age,num) //10,20
复制代码


将一个变量赋值给另一个变量如下:


var age int =10var num intnum=agefmt.Println(num) //10
复制代码


注意:变量进行赋值会覆盖原有的旧值

3.4 案例:交换两个变量的值

临时变量


package mainimport "fmt"func main(){  a := 1  b := 5  var t int   t = a  a = b  b = t  fmt.Println("a = ", a, "b = ", b )}
复制代码


不使用临时变量


package mainimport "fmt"func main(){  a := 1  b := 5  a = a + b  b = a - b  a = a - b  fmt.Println("a = ", a, "b = ", b )}
复制代码


直接赋值


package mainimport "fmt"func main() {    a := []int{1, 2}    b := []int{3, 4, 5}    a, b = b, a    fmt.Println(`a:`, a)    fmt.Println(`b:`, b)}
复制代码

总结

  • 变量声明:var 变量名称变量类型

  • 声明多个变量:var 变量名称 1,变量名称....类型

  • 声明整型变量,默认值为 0

  • 输出语句可以只使用一个 Println 函数,中间用英文半角逗号进行分割!

  • 可以将一个变量的值,赋值给另外一个变量,并且变量中原有的旧值被新值所覆盖。

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022.03.01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年7月 Go教学课程 005-变量_7月月更_愚公搬代码_InfoQ写作社区