go 变量和常量
变量 Varible // 只声明,不赋值,默认是0 var v0 int // 先声明 var v1 int v1 = 1 // 声明的同时赋值 var v2 int = 2 // 自动推断

go 变量和常量

发布时间:2023-10-06 (2023-10-06)

变量 Varible

// 只声明,不赋值,默认是0
var v0 int

// 先声明
var v1 int
v1 = 1

// 声明的同时赋值
var v2 int = 2

// 自动推断
var v3 = 3

// 声明赋值
v4 := 4

fmt.Printf("v0=%v, v1=%v, v2=%v, v3=%v, v4=%v\n", v0, v1, v2, v3, v4)

在go中,声明变量就必须使用

对于int类型,它的默认值就是0

批量声明

var (
  v1 int
  v2 int = 2
  v3     = 3
)

fmt.Printf("v1=%v, v2=%v, v3=%v", v1, v2, v3)

常量 Constant

声明之后不能修改

const a int = 1
fmt.Println(a)

iota

批量声明常量就可以使用iota

它可以实现常量的计数功能

iota就是当前变量的层数

const (
  a int = iota
  b     = 2
  c     = iota
  d     = iota
  e     = 1
  f     = iota
)
fmt.Println(a, b, c, d, e, f)
// 0 2 2 3 1 5
const (
  g = iota
  h = iota
)
fmt.Println(g, h)
// 0 1

全局变量

将变量声明放在函数之外

例如

package main

import "fmt"

var a = 100

func main() {
  fmt.Println(a)
}

声明为全局变量之后,该变量可以不使用

全局跨包变量

在当前项目中创建一个version目录,在version目录中创建version.go

package version

var (
  Version int  = 2
)

在主程序中就可以引入该包进行使用

package main

import (
  "fmt"
  "go_study/version"
)

func main() {
  fmt.Println(version.Version)
}

如果要使用跨包变量,则需要将该变量名首字母大写