[Go] --- 变量的声明和定义

qiurisuixiang · · 13336 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Email : hahayacoder@gmail.com

 

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

 

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

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

var m int = 10

 

//声明初始化多个变量

var i, j, k = 1, 2, 3

 

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

var(

   no  int

   name string

)

 

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

var b = true//bool

 

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

str := "Hello"

 

//Go中有一个特殊的变量_任何赋给它的值将被丢弃
_, Ret:= 2, 3

 

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

 

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

 

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

 

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

 

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

 

8 学习的小例子

// Var project main.go
package main

import (
	"fmt"
)

func main() {

	//声明并初始化一个变量
	var m int = 10
	fmt.Printf("定义的变量值为:%d \n", m)

	//声明初始化多个变量
	var i, j, k = 1, 2, 3
	fmt.Printf("定义的变量值为:%d、%d、%d \n", i, j, k)

	//声明时不指明类型,通过初始化值来推导
	var b = true //bool型
	if b == true {
		fmt.Printf("bool值为真.\n")
	}

	//一种简单的方式 等价于 var str string = "Hello"
	str := "Hello"
	fmt.Printf("定义的变量值为:%s \n", str)

	//Go的编译器对声明却未使用的变量在报错
	//使用保留字var声明变量 然后给变量赋值
	var number int
	number = 121
	fmt.Printf("定义的变量值为:%d \n", number)

	//变量定义的另一种形式 这种情况下变量的类型是由值推演出来的
	text := "hahaya"
	fmt.Printf("定义变量的值为:%s \n", text)

	//多个变量的声明(注意小括号的使用)
	var (
		no   int
		name string
	)

	no = 1
	name = "hahaya"
	fmt.Printf("学号:%d \t 姓名:%s \n", no, name)

	//多个变量声明、定义的另一种形式
	x, y := 2, "ToSmile"
	fmt.Printf("学号:%d \t 姓名:%s \n", x, y)

	//Go中有一个特殊的变量_ 任何赋给它的值将被丢弃
	_, Ret := 2, 3
	fmt.Printf("变量的值为:%d \n", Ret)
}


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:qiurisuixiang

查看原文:[Go] --- 变量的声明和定义

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

13336 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传