Go语言的变量与常量 | 青训营

77 阅读3分钟

声明变量与变量赋值

//声明变量的一般形式是使用var关键字
var variable type
//也可以一次声明多个变量
var variable1, variable2 type
//声明变量时也可以赋值
var temp string = "ssss"
var a, b int = 1, 2

声明了变量并且赋值了,也可以不用写类型。 如果声明了变量没有赋值,那么变量的值为零值。

下面是一些类型数据的零值

  • 数值类型为0
  • 布尔类型为false
  • 字符串为“”
  • 以下几种类型零值为nil
var a *int
var a []int
var a map[string] int
var a chan int
var a func(string) int
var a error(error是接口)

声明变量更简洁的方式:

a := 1

相当于

var a int
a = 1

声明全局变量和函数变量:

ackage main
var ( //这种因式分解关键字的写法一般用于声明全局变量
    a int
    b bool
)
//这种不带声明格式的只能在函数体中出现
//c, d := 3123, "hello"
func main(){
    c,d := 3123, "hello"
}    

常量

常量是在运行程序时不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

常量的定义格式如下:

const variable [type] = value
const a string = "abc"
const a = "abc"
const c1,c2 = value1, value2

常量可以用len()等内置函数计算表达式的值,在常量表达式中,函数必须是内置函数,否则编译不通过

ackage main
const (
    a = "abc"
    b = len(a)
)
func main(){
    println(a, b)
}

变量

在Go语言中,变量是用于存储数据的容器。每个变量都有一个特定的类型,用于定义变量可以存储的数据类型。以下是Go语言中的变量相关的一些特点和用法:

  1. 变量声明:使用关键字var来声明一个变量,并指定变量的名称和类型。例如:
var age int // 声明一个整数类型的变量age
  1. 变量赋值:使用赋值操作符=将一个值赋给变量。例如:
age = 25 // 将25赋给变量age

也可以在声明变量的同时进行赋值:

var name string = "Alice" // 声明一个字符串类型的变量name,并赋值为"Alice"

或者使用简短声明方式:

age := 25 // 简短声明方式,自动推导变量类型为int,并赋值为25
  1. 变量类型推导:Go语言支持根据赋值的值自动推导变量的类型,可以使用简短声明方式进行变量声明和赋值。例如:
name := "Alice" // 自动推导变量类型为string,并赋值为"Alice"
  1. 零值:在声明变量但未赋值时,变量会被赋予其对应类型的零值。例如,int类型的零值为0,string类型的零值为空字符串。例如:
var age int // 声明一个整数类型的变量age,此时age的值为0
var name string // 声明一个字符串类型的变量name,此时name的值为空字符串
  1. 多变量声明:可以同时声明多个变量,并指定它们的类型和初始值。例如:
var a, b, c int = 1, 2, 3 // 声明三个整数类型的变量,并分别赋值为1、2、3

也可以使用简短声明方式:

a, b, c := 1, 2, 3 // 简短声明方式,自动推导变量类型为int,并分别赋值为1、2、3
  1. 常量:使用关键字const来声明常量,常量的值在声明后不能修改。例如:
const pi = 3.14159 // 声明一个常量pi,并赋值为3.14159
  1. 匿名变量:使用下划线_表示一个匿名变量,它可以用于忽略某个值的占位符。例如:
_, err := someFunction() // 忽略函数返回值的第一个结果

这些是Go语言中变量的一些基本特点和用法。通过合理使用变量,可以在程序中存储和处理数据。