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

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

          这篇文章主要介绍了Go语言中的变量声明和赋值的方法,十分的细致全面,有需要的小伙伴可以参考下。

  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-04-12 09:55:14

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

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

1.变量声明和赋值语法 Go语言中的变量声明使用关键字var,例如 复制代码 代码如下: var name string //声明变量 name = "tom" //给变量赋值 这边var是定义变量的关键字,name是变量名称,string是变量类型,=是赋值符号,tom是值.上面的程序分两步,第一步声明变量,第二步给变量赋值.也可以将两步合到一起. 复制代码 代码如下: var name string = "tom" 如果在声明时同时赋值,可以省略变量类型,Go语

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

JS中使用变量保存arguments对象的方法_javascript技巧

迭代器(iterator)是一个可以顺序存取数据集合的对象.其一个典型的API是next方法.该方法获得序列中的下一个值. 迭代器示例 题目:希望编写一个便利的函数,它可以接收任意数量的参数,并为这些值建立一个迭代器. 测试代码好下: var it=values(,,,,,,,,); it.next();// it.next();// it.next();// 分析:由于values函数需要接收任意多个参数,这里就需要用到上一节讲到的构建可变参数的函数的方法.然后里面的迭代器对象来遍历argum

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

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

C语言中用于产生随机数的函数使用方法总结_C 语言

在UNIX操作系统和window的操作系统上,我们知道有一个函数rand,它就是用来产生随机数的函数API接口,那么它的原理如何实现? 如果约定a1=f(seed),an+1=f(an),那么可以得到一个序列a1,a2,a3..an,那么要制作一个伪随机函数rand,只需要让它每调用一次就返回序列的下一个元素就行.其实就是相当于第1次调用rand返回a1,第2次返回a2,-,第n次返回an,这样每次返回的数值都不一样,也就是相当于随机数了.但是其实不是真正的随机数,真正的随机数是使用物理现象产生

JavaScript中的变量声明早于赋值分析_javascript技巧

如下 复制代码 代码如下: var a = 3; 实际有两个步骤: 1 初始化a为undefined 2 a赋值3 因此会出现一些"匪夷所思"的现象,即JS中变量可以先使用后声明.这在Java中是不允许的. 复制代码 代码如下: System.out.println(a); int a = 1; 编译通不过.但JS可以,如下 复制代码 代码如下: alert(a); var a; 虽然是undefined,但不会报错.说明a的确声明了,且为undefined. 如果只是"al

C语言中自动变量栈是如何分配的

大家都知道在c语言的运行过程中,局部变量都是存放在栈中的,且是从高位到低位进行进行空间分配. 先看一个程序. 很明显,地址从高到低分配,和预计的一样. 稍微修改一下,再运行. 很明显,从低位到高位!!!