Golang学习笔记-1.3 变量

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

本文系第三篇Golang语言学习教程
var声明语句可以创建一个特定类型的变量,然后给变量附加一个名字,并且设置变量的初始值。
变量声明语法如下

var 变量名 类型 = 表达式

例:

var age int = 19

其中“类型”“=表达式”两个不分可以省略其中一个。

如果省略类型,那么将根据初始表达式来确定类型信息。
如果省略=表达式,那么将用零值初始化该变量。

例1:

package main

import "fmt"

func main() {
        var age = 19 //省略类型,根据自动表达式确定age类型
        fmt.Println("Hello World,my age is",age)
}

上面的程序将会打印:

Hello World,my age is 19

例2:

package main

import "fmt"

func main(){
    var age int //省略表达式,默认用0初始化该变量
    fmt.Println("Hello World,my age is",age)
}

上面的程序将会打印:

Hello World,my age is 0

声明多个变量

Go能够通过一条语句声明多个变量。
声明多个变量语法如下

var name1, name2 type = initialvalue1, initialvalue2

例:

package main

import "fmt"

func main(){
        var height,weight = 178,57 //声明两个变量身高,体重
        fmt.Println("my height is",height,"and my weight is",weight)
}

上面的程序将会打印:

my height is 178 and my weight is 57

在某些情况下我们可能需要在一个语句中声明不同类型的变量。
一个语句声明不同类型的变量语法如下

var (
   name1 = initialvalue1
   name2 = initialvalue2
)

例:
```go
package main

import "fmt"

func main(){
       var (
           name = "xunk"
           age = 19
           height = 178
       )
       fmt.Println("my name is",name,",my age is",age,"and my heiget is",height)
}

上面的程序将会打印:

my name is xunk ,my age is 19 and my heiget is 178

简短声明

Go支持一种声明变量的简洁方式,使用了:=操作符,称为简短声明。
简短声明语法如下:

name := initialvalue

例:

package main

import "fmt"

func main(){
        name,age := "xunk",19 //简短声明name,age

        fmt.Println("my name is",name,"my age is",age)
}

上面的程序将会打印:

my name is xunk my age is 19

:=简短声明左边所有变量都要有初始值,并且操作符左边必须要有一个变量是尚未声明的。

变量也可以在运行时进行赋值。
例:

package main

import (
        "fmt"
        "math"
)

func main(){
        a,b := 25.3,73.1 //声明a,b变量
        c := math.Min(a,b) //比较a,b最小值,赋值给c
        fmt.Println("The minimum values is",c)
}

上面的程序将会打印:

The minimum values is 25.3


由于 Go 是强类型(Strongly Typed)语言,因此不允许某一类型的变量赋值为其他类型的值。

package main

func main() {  
    age := 29      // age是int类型
    age = "naveen" // 错误,尝试赋值一个字符串给int类型变量
}

以上程序会报错:

(type string) as type int in assignment

不可以将赋值一个字符串给int类型变量


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

本文来自:简书

感谢作者:xunk1900

查看原文:Golang学习笔记-1.3 变量

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

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