VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • [Go] --- 变量的声明和定义

Email : hahayacoder@gmail.com

 

1 Go中变量的声明和JavaScript很像,使用var关键字

 

2 Go中变量的声明、定义有好几种形式 

//声明并初始化一个变量

var int 10

 

//声明初始化多个变量

var i, j, k = 123

 

//多个变量的声明(注意小括号的使用)

var(

   no  int

   name string

)

 

//声明时不指明类型,通过初始化值来推导

var b = true//bool

 

//一种简单的方式等价于varstrstring="Hello"

str := "Hello"

 

1
<span style="font-family:宋体; font-size:14px"><span style="color:green">//Go</span><span style="color:green">中有一个特殊的变量_</span><span style="color:green">任何赋给它的值将被丢弃</span></span>
1
<span style="font-family:宋体; font-size:14px">_, Ret:= <span style="color:purple">2</span>, <span style="color:purple">3</span></span>

 

Go的编译器对声明却未使用的变量在报错

 

C语言一样,Go语言中也是使用分号来终结语句。但是和C语言不同的是,Go语言的词法分析器在扫描源代码的过程中使用简单的规则自动插入分号,因此在编写源代码的多数时候就不需要加分号了。

 

5 Go语言词法分析器插入分号的规则:如果在一个新行前方的最后一个标记是一个标识符(包括像intfloat64这样的单词)、一个基本的如数值这样的文字、或以下标记中的一个时,会自动插入分号

 

通常Go语言仅在for语句中使用分号,以此来分开初始化器、添加和增量。还有一种情况就是,当你在一行中写了多个语句,也需要使用分号来分开

 

由于Go语言词法分析器添加分号的特殊性,所以在有些情况下需要注意了:你都不应该将一个控制结构(ifforswitchselect)的左大括号放在下一行。如果这样做,将会在大括号的前方插入一个分号,这可能导致出现不想要的结果。

 

学习的小例子

1
2
3
4
5
6
7
8
9
10
// Var project main.go  package main    import (    "fmt"  )    func main() {       //声明并初始化一个变量    var m int = 10      fmt.Printf("定义的变量值为:%d
", m)       //声明初始化多个变量     var i, j, k = 1, 2, 3   fmt.Printf("定义的变量值为:%d、%d、%d
", i, j, k)     //声明时不指明类型,通过初始化值来推导    var b = true //bool型    if b == true {          fmt.Printf("bool值为真.
")      }       //一种简单的方式 等价于 var str string = "Hello"      str := "Hello"      fmt.Printf("定义的变量值为:%s
", str)     //Go的编译器对声明却未使用的变量在报错   //使用保留字var声明变量 然后给变量赋值      var number int      number = 121    fmt.Printf("定义的变量值为:%d
", number)      //变量定义的另一种形式 这种情况下变量的类型是由值推演出来的     text := "hahaya"    fmt.Printf("定义变量的值为:%s
", text)        //多个变量的声明(注意小括号的使用)     var (       no   int        name string     )       no = 1      name = "hahaya"     fmt.Printf("学号:%d    姓名:%s
", no, name)        //多个变量声明、定义的另一种形式   x, y := 2, "ToSmile"    fmt.Printf("学号:%d    姓名:%s
", x, y)        //Go中有一个特殊的变量_ 任何赋给它的值将被丢弃      _, Ret := 2, 3      fmt.Printf("变量的值为:%d
", Ret)  }
 


相关教程