Go--变量的声明

Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。

变量是一段或多段用来存储数据的内存,在go中,变量一旦被定义,一定要使用,不然会报错

内建变量类型:

  • bool
  • string
  • int、int8、int16、int32、int64  //有符号整数,8,16为整数长度
  • uint、uint8、uint16、uint32、uint64、uintptr(指针)  //无符号整数
  • byte  // uint8 的别名
  • rune // int32 的别名 代表一个 Unicode 码
  • float32、float64  //浮点数
  • complex64、complex128  //复数

 

当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。

变量可写在函数(首个单词小写,每个新单词的首字母大写)内,在作用域内生效;也可写在函数外,作用于声明的package内。

标准格式: var 变量名 变量类型 

简短格式: 变量名 := 表达式 (自动识别变量类型,只可用于函数内部

批量格式: var ( dd = 3 ff = "avf" gg = true ) 

 

示例:

package main

import "fmt"

var aa = 1
var bb = false
var cc = "abc"
var (
    dd = 3
    ff = "avf"
    gg = true
)

func variableZeroValue() {
    var a int
    var s string
    fmt.Printf("%d %q\n", a, s)
}

func variableInitialValue() {
    var a, b int = 3, 4
    var s string = "abc"
    fmt.Println(a, b, s)
}

func variableTypeDeduction() {
    var a, b, c, d = 1, 2, true, "abc"
    fmt.Println(a, b, c, d)
}

func variableShorter() {
    a, b, c, d := 1, 2, true, "abc"
    b = 5
    fmt.Println(a, b, c, d)
}

func main() {
    fmt.Println("hello world")
    variableZeroValue()
    variableInitialValue()
    variableTypeDeduction()
    variableShorter()
    fmt.Println(aa, bb, cc)
    fmt.Println(dd, gg, ff)
}

//输出
hello world
0 ""        
3 4 abc     
1 2 true abc
1 5 true abc
1 false abc 
3 true avf

 

posted @ 2022-05-25 20:26  心恩惠动  阅读(72)  评论(0编辑  收藏  举报