本文参加了思否技术征文,欢送正在浏览的你也退出。
前言
特地阐明: 本文只适宜老手学习
这篇文章带咱们入门 go 语言的定义变量的形式,其实和 javascript 很类似,所以特意总结在此。
在 go 语言中,也有变量和常量两种,首先咱们来看变量的定义,定义变量咱们分为定义单个变量和多个变量。
定义单个变量
在定义单个变量中,咱们通过 var 关键字来定义一个变量,其后跟变量名和变量类型,其中变量类型能够省略,语法结构如下:
var < 变量名 > < 变量类型 >
例如:
var name string
以上代码示意定义一个变量名为 name,变量类型为字符串的变量,留神 go 语言定义变量的类型始终是在最初。
能够看到,和 js 定义变量区别不大,只不过是多了一个类型申明,其中这个类型申明还能够省略。
定义多个变量
在 go 语言中,咱们通过 ,
操作符来定义多个变量, 这里定义多个变量也分为两种状况,一种是多个变量都是同一类型,另外一种则是不同类型的多个变量,咱们先来看第一种。
定义雷同类型的多个变量
和定义单个变量一样,也是应用 var 关键字来定义,并且通过 ,
来分隔,语法结构如下:
var < 变量名 1 >,< 变量名 2 >,< 变量名 3 >,... < 变量类型 >
如:
var name1,name2,name3 string
以上定义了 name1,name2,name3 3 个变量,变量的类型都是 string。
能够看到以上是定义雷同类型的多个变量, 那么咱们应该如何定义不同类型的多个变量呢?
很简略,用 ()
包裹起来,而后也是应用 ,
分隔,在每个变量名前面紧跟变量类型即可,语法如下:
var (< 变量名 1 > < 变量 1 类型 >,< 变量名 2 > < 变量 2 类型 >...)
例如以下代码:
var (name string,age int)
是不是很简略?
变量的初始化
在 go 语言中,定义了变量,同样也会有初始化的操作,也就是说给变量初始化值,也是通过 =
操作符后跟值即可。语法结构如下:
var < 变量名 > < 变量类型 >? = < 变量值 >
例如:
var name string = "eveningwater"
变量类型的省略
其实咱们在初始化变量的时候能够省略变量类型,而后 go 编译器会在编译的时候帮咱们主动推导变量类型,这几乎就是在写 javascript 啊,这也是我在以上语法变量类型那一块中标注? 的起因,就示意能够写能够不写。例如以上示例代码就能够写成:
var name = "eveningwater"
如此看来,咱们定义多个变量同样也能够省略变量类型,如:
var (name,age) = "eveningwater",26
又或者是:
var name1,name2 = "eveningwater","xxx"
var 关键字的省略(简短申明)
go 语言的定义变量名的关键字 var 也能够省略,这也是我没有想到的,如下所示:
name1,name2 := "eveningwater","xxx"
感觉挺神奇的,是吧!go 把这种省略了 var 和 type 的申明叫做 简短申明
。这样一来咱们就能够在定义变量的时候用这个 ”:=” 来定义变量了,不,你想多了,应用这种形式来定义变量是有限度的,那就是这种形式只可能作用在函数外部,如果咱们要定义全局变量的话,还是要老老实实的写 var 关键字。
全局变量与局部变量
通过以上的阐明,咱们晓得了定义全局变量和定义局部变量的形式,如下:
var a string = "hello" // 全局变量
func test() {
b := "world" // 局部变量
c := a + b
fmt.Printf("%s \n", c)
}
特地的变量名
go 语言有个很非凡的变量名,那就是下划线 ”_”, 为什么说它非凡呢,因为定义它的值都会被抛弃,没错,就是抛弃,例如:
_,num = 35,34
其中_变量值为 35 将会被抛弃,最初就只剩下值为 34 的 num 变量了,感觉这种设计也是挺有意思的。
未应用变量的限度
go 语言在编译阶段会对申明但未应用变量报错,比方以下代码就会报错: 申明了 i 变量但并未应用。
package main
func main(){
// 编译阶段报错
var i int
}
常量
常量其实也就是在程序编译阶段定下来的值吗,无奈被批改,在 go 语言中常量也能够被定义成数值,布尔值或者是字符串等类型。它的语法结构如下:
const variableName = value;
例如:
const num int = 10;
其中常量的类型如果须要也能够加上。
以上就是本文内容了,感激大家观看,看完本文,想来应该要不了几分钟,几分钟就把握了 go 语言定义变量的概念和形式,想来还是值得的,非常适合老手学习,哈哈哈。