Go语言中的变量声明和赋值_Golang

1、变量声明和赋值语法

Go语言中的变量声明使用关键字var,例如

复制代码 代码如下:

var name string //声明变量
name = "tom" //给变量赋值

这边var是定义变量的关键字,name是变量名称,string是变量类型,=是赋值符号,tom是值。上面的程序分两步,第一步声明变量,第二步给变量赋值。也可以将两步合到一起。

复制代码 代码如下:

var name string = "tom"

如果在声明时同时赋值,可以省略变量类型,Go语言可以根据初始值来判断变量的类型,所以也可以这样写

复制代码 代码如下:

var name = "tom"

Go语言还提供了一种更简短的写法

复制代码 代码如下:

name := "tom"

在Go语言中不能对同一个变量声明多次。例如下例的代码就是不允许的:

复制代码 代码如下:

i := 1
i := 2 //这个是不允许的

:= 表示声明和赋值,所以是不允许的,运行后系统会提示:no new variables on left side of :=

2、变量命名规则

变量名由字母、数字、下划线组成,其中首个字母不能为数字。

变量的声明不能和保留字同名,以下是保留字:

复制代码 代码如下:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

3、范例

复制代码 代码如下:

b := false //布尔型
i := 1 //整型
f := 0.618 //浮点型
c := 'a' //字符
s := "hello" //字符串
cp := 3+2i  //复数
i := [3]int{1,2,3} //数组

时间: 2024-11-05 19:44:55

Go语言中的变量声明和赋值_Golang的相关文章

Go语言中的变量声明和赋值的方法

  Go语言中的变量声明和赋值的方法           这篇文章主要介绍了Go语言中的变量声明和赋值的方法,十分的细致全面,有需要的小伙伴可以参考下. 1.变量声明和赋值语法 Go语言中的变量声明使用关键字var,例如 代码如下: var name string //声明变量 name = "tom" //给变量赋值 这边var是定义变量的关键字,name是变量名称,string是变量类型,=是赋值符号,tom是值.上面的程序分两步,第一步声明变量,第二步给变量赋值.也可以将两步合到

java中为什么有的变量声明而不赋值?

问题描述 java中为什么有的变量声明而不赋值? java中为什么有的变量声明而不赋值?而有的就值,那什么情况下要赋值,什么情况下不赋值 解决方案 比如对象变量,而调用这个变量的构造函数非常耗费时间,所以我们等用到的时候再创建,如果程序运行完都不访问它,就根本不创建,这样可以提高效率. 对于简单变量,比如int float一类的,建议随手给一个初始值. 解决方案二: 你这个问题给你举个例子,你应该就能理解了 例如: int a; 这是只声明不赋值,则只会在内存的栈区创建引用,堆中并无此引用的指向

java当中为什么有的变量声明而不赋值

问题描述 java当中为什么有的变量声明而不赋值 java当中为什么有的变量声明而不赋值,比如 int a;那它和int a = null;有啥区别 解决方案 基础啊,java类变量可以声明不用赋值,也可以赋值 java局部变量声明后必须赋值 int a = null;你确定能编译成功?Integer a = null;可行: Integer a ;Integer b = null; a等于b; 不谢: 解决方案二: 成员变量可以只声明,系统会给他一个默认值.局部变量必须赋值 解决方案三: ja

c语言-C语言中多维数组如何赋值

问题描述 C语言中多维数组如何赋值 请问 多维数组如何赋值 int a[3][4][5]; 请问C语言的前辈们 数组a中的元素个数是不是60个呢? 我是这样算出来的 这个多维数组是 12一维数组的集合 这个1维数组的元素有5个 12x5=60 解决方案 C语言 指针数组 多维数组C语言 指针数组 多维数组C语言中多维数组的理解 解决方案二: 最后一个参数是在一行当中确定一个,第二参数是在很多行当中确定一行,第一个参数是在很多页当中确定一页,为了确定某个元素,你必须先确定它在哪一页上,每一页都是4

C语言中函数的声明、定义及使用的入门教程_C 语言

对函数的"定义"和"声明"不是一回事.函数的定义是指对函数功能的确立,包括指定函数名,函数值类型.形参及其类型以及函数体等,它是一个完整的.独立的函数单位.而函数的声明的作用则是把函数的名字,函数类型以及形参的类型.个数和顺序通知编译系统,以便在调用该函数时进行对照检查(例如,函数名是否正确,实参与形参的类型和个数是否一致),它不包括函数体.--谭浩强 ,<C程序设计>(第四版),清华大学出版社,2010年6月,p182 这段论述包含了许多概念性错误,这

Go语言中的复合类型详细介绍_Golang

golang复合类型包括:结构体.数组.切片.Maps. 1.数组 数组 golang中的数组与C语言中的数组差异很大,倒更类似Pascal中的数组. (Slice,下个话题,有些像C语言中的数组) 复制代码 代码如下: var ar [3]int 声明ar为一个拥有三个整型数的数组,所有元素初始化为0. 大小是类型的一个组成部分. 内置的函数len可以用于获取数组大小: 复制代码 代码如下: len(ar) = 3 数组是值类型 golang中的数组是值,而非C语言中的隐式指针.你可以获得数组

Go语言中接口组合的实现方法_Golang

本文实例讲述了Go语言中接口组合的实现方法.分享给大家供大家参考.具体实现方法如下: 在Go语言中,可以在接口A中组合其它的一个或多个接口(如接口B.C),这种方式等价于在接口A中添加接口B.C中声明的方法. 复制代码 代码如下: //接口中可以组合其它接口,这种方式等效于在接口中添加其它接口的方法  type Reader interface {      read()  }  type Writer interface {      write()  }    //定义上述两个接口的实现类 

Go语言中常量定义方法实例分析_Golang

本文实例讲述了Go语言中常量定义方法.分享给大家供大家参考.具体分析如下: 常量的定义与变量类似,只不过使用 const 关键字. 常量可以是字符.字符串.布尔或数字类型的值. 复制代码 代码如下: package main import "fmt" const Pi = 3.14 func main() {     const World = "世界"     fmt.Println("Hello", World)     fmt.Printl

Go语言中的指针运算实例分析_Golang

本文实例分析了Go语言中的指针运算方法.分享给大家供大家参考.具体分析如下: Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内使用,没有C语言的*void然后随意转换指针类型这样的东西.最近在思考Go如何操作共享内存,共享内存就需要把指针转成不同类型或者对指针进行运算再获取数据. 这里对Go语言内置的unsafe模块做了一个实验,发现通过unsafe模块,Go语言一样可以做指针运算,只是比C的方式繁琐一些,但是理解上是一样的. 下面是实验代码: 复制代码 代码如下: packag