Go学习:变量

server/2024/12/27 2:54:20/

目录

1. 变量的命名

2. 变量的声明

3. 变量声明时注意事项

4. 变量的初始化 

5. 简单例子


         变量主要用来存储数据信息,变量的值可以通过变量名进行访问。

1. 变量的命名

        在Go语言中,变量名的命名规则 与其他编程语言一样,都是由字母、数字、下划线组成,其中变量名的首字符不能为数字。

  • 变量名应该使用驼峰命名法(Camel Case),例如 myVariable。
  • 变量名应尽量具有描述性,能够清晰表达变量的用途和含义。
  • 变量名由字母、数字、下划线组成,其中首个字符不能为数字
  • Go语言中关键字和保留字都不能作变量名。

2. 变量的声明

注意:Go语言中,在声明变量时,是将 变量的类型放在变量的名称之后。例如,在C/C++中,变量的声明格式为  int a;  ,在Go中,变量的声明格式为  var a int  

        变量的声明通常使用 var 关键字。

        变量的声明格式为: 

                var   identifier  type

  • var:声明变量的关键字
  • identifier:变量名
  • type:变量的类型        
  • 注意:声明变量时,行尾无须添加分号

例如: 

var a int              // 声明整型类型的变量,并保存整数数值var b string           // 声明字符串类型的变量var c []float32        // 声明32位浮点切片类型的变量var d func() bool      // 声明返回值为布尔类型的函数变量var e struct{          // 声明结构体类型的变量,该结构体拥有整型的x字段x int
}

        在上述代码中:例如, var a int  ,其中 var 为关键字,a 为变量名,int 是变量的类型。 

3. 变量声明时注意事项

  • (1)可以一次声明多个变量,例如,var a,b int
  • (2)变量在声明之后必须要使用,即 程序中不包含没有使用的无意义的变量
  • (3)声明一个变量后,变量有默认值,每个变量会初始化为其类型的默认值(见第4部分:变量的初始化
  • (4)程序中,同一个{ }中,声明的变量名是唯一

4. 变量的初始化 

        Go语言在声明变量时,自动对变量对应的内存区域进行初始化操作。每个变量会初始化为其类型的默认值。

  •  整型和浮点型变量的默认值为0。
  •  字符串变量的默认值为空字符串。
  •  布尔型变量的默认值为false。
  •  切片、函数、指针变量的默认值为nil。

(1)变量初始化的标准格式 

                var 变量名 类型 = 表达式

例如:

                var a int = 2

其中,a为变量名,类型为int,a的初始值为2。 

(2)编译器推导类型的格式

        var a int = 2  中 2和int 同为int类型,因此可以进一步简化初始化的写法,即

var a = 2 

等号右边的部分在编译原理里被称为右值(rvalue)。 

(3) 自动推导类型

a := 2

其中,:= 只能出现在函数内(包括在方法内),此时Go编译器会自动进行数据类型的推断。

注意:

  •  := 代表声明的同时对变量进行定义,不需要var关键字
  • 使用 := 写法时,推导声明写法的左值变量必须是没有定义过的变量,若再次定义,会出现编译错误。
  • 该种写法同样支持多个类型变量同时声明并赋值,例如:

a, b := 1, 2

5. 简单例子

package mainimport "fmt"func main() {//1. 声明格式var a intfmt.Println("a = ", a) //声明一个变量后,变量有默认值,int类型默认为0//可以同时声明多个变量//var b, c inta = 10 //赋值:先声明,后赋值,赋值前必须先声明变量fmt.Println("a = ", a)//2.变量的初始化,声明变量时,同时赋值var b int = 2 //初始化,声明变量时,同时赋值b = 20        //赋值,先声明,后赋值fmt.Println("b= ", b)//3.自动推导类型,必须初始化,通过初始化的值确定类型(常用)c := 30 //:= 代表声明的同时对变量进行定义,不需要var关键字fmt.Println("c = ", c)//%T:打印变量所属的类型fmt.Printf("c type is %T\n", c)
}

运行结果:


http://www.ppmy.cn/server/147586.html

相关文章

python学习笔记15 python中的类

上一篇我们介绍了python中的库 ,学习了一些常见的内置库。详细内容可点击–>python学习笔记14 python中的库,常见的内置库(random、hashlib、json、时间、os) 这一篇我们来看一下python中的类 创建一个类 class 类的名称():de…

【Linux】匿名管道通信场景——进程池

🔥 个人主页:大耳朵土土垚 🔥 所属专栏:Linux系统编程 这里将会不定期更新有关Linux的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目…

【Word 知识点】

快捷键 1.复制 Ctrlc 2.粘贴 Ctrlv 3.剪切 Ctrlx 4.全选 Ctrla 5.加粗 Ctrlb 6.打开 Ctrlo 7.新建 Ctrln 8.保存 Ctrls 9.查找 Ctrlf 10.替换 Ctrlh Word 要点 1.文档基本操作: 新建 打开 保存 复制 粘贴 剪切 查找 替换 2.字体:字体 字号 颜…

《山海经》:东山

《山海经》:东山 樕[朱{虫虫}(上下)]山(鳙鳙鱼:形像犁牛发出猪叫)藟山栒状山(从从:形状像狗,六条腿)勃亝山番条山姑儿山高氏山岳山山(状夸父)独山&#xff08…

计算机网络安全

从广义来说,凡是涉及到网络上信息的机密性、报文完整性、端点鉴别等技术和理论都是网络安全的研究领域。 机密性指仅有发送方和接收方能理解传输报文的内容,而其他未授权用户不能解密(理解)该报文报文完整性指报文在传输过程中不…

【Open-Fegin使用介绍】

文章目录 OpenFegin的介绍OpenFegin使用1.导入配置2. 开启OpenFegin3.配置OpenFeigin的类4.OpenFegin的使用 FeginClien注解 OpenFegin的介绍 OpenFeign 是一个声明式的Web服务客户端,它使得编写Web服务客户端变得更加容易。OpenFeign 旨在整合Ribbon和Nacos&#…

用“*”构成一个倒三角形:JAVA

输入:5 输出: ******* ***** *** * 代码: import java.util.Scanner; //倒三角 public class FF6 {public static void main(String[] args) {Scanner scannernew Scanner(System.in);while (scanner.hasNextInt()){int nscanner…

Ubuntu 安装Ansible ansible.cfg配置文件生成

安装后的ansible.cfg后的默认内容如下: rootlocalhost:/etc/ansible# cat ansible.cfg # Since Ansible 2.12 (core): # To generate an example config file (a "disabled" one with all default settings, commented out): # $ ansible-…