GO语言的变量与常量

简介: 介绍Go语言的变量与常量!

1.变量

go是一个静态语言

  • 变量必须先定义后使用
  • 变量必须要有类型

定义变量的方式:

var 名称 类型

var 名称 =值

名称  :=值

例如:

var num int

这样就存了一个num类型为int的变量

var num =1

上面使用简化的定义通过num自动判断后面的类型为int并赋值为1

num :=1

第三种方式就是使用这种方式赋值 使用冒号加等于赋值。

定义变量多个还可以使用这种方式

var (
    name="make"
    age=18
    ok bool
    
)

注意:定义局部变量可以不使用,但是局部变量必须使用,定义了不使用会报错。

多变量赋值

var user1,user2,user3="hello",1,"hello3"

2.常量

常量,在定义的时候需要指定,并且不能修改。

const 名称 类型 =值

例如π

const PI float32 =3.1415926

注意: 常量使用大写

package main
import "fmt"
func main() {
  const (
    x int = 16
    y
    s = "abc"
    z
  )
  fmt.Println(x, y, s, z)
}
输出:
16 16 abc abc

由此可见y和z虽然没有赋值,但是它是自动集成上面的值。

3.iota

iota可以认为是一个特殊的常量。

package main
import "fmt"
func main() {
  const (
    ERR1  = iota
    ERR2     = iota
    ERR3     = iota
    ERR4     = iota
  )
  fmt.Println(ERR1, ERR2, ERR3, ERR4)
}
输出:
0 1 2 3

说明iota是从0开始递增的数据。

package main
import "fmt"
func main() {
  const (
    ERR1  = iota
    ERR2     
    ERR3     
    ERR4   
  )
  fmt.Println(ERR1, ERR2, ERR3, ERR4)
}
输出:
0 1 2 3

这样iota计数器会一直递增。

4.匿名变量

定义:

var _ 类型

package main
func test() (int, bool) {
  return 1, true
}
func main() {
  var _ int
  _, ok := test()
  if ok {
  }
}

例如这样一段程序,我需要调用test中获取bool的值,我不需要关心int的值,我只想获取bool的值所以匿名变量的作用就体现出来了。

目录
相关文章
|
9天前
|
Go
go语言中的数据类型
go语言中的数据类型
11 0
|
15天前
|
Go 开发者
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
|
15天前
|
安全 Go
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
|
15天前
|
存储 缓存 安全
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
|
15天前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
|
9天前
|
存储 Java 编译器
go语言基础语法
go语言基础语法
|
15天前
|
存储 缓存 安全
掌握Go语言:Go语言Map,高效键值对集合的应用与注意事项详解(26)
掌握Go语言:Go语言Map,高效键值对集合的应用与注意事项详解(26)
|
15天前
|
存储 安全 编译器
掌握Go语言:精通Go语言范围(range),高级应用及进销存系统实战(25)
掌握Go语言:精通Go语言范围(range),高级应用及进销存系统实战(25)
|
15天前
|
供应链 算法 安全
掌握Go语言:函数精髓,定义、参数、多返回值与应用(14)
掌握Go语言:函数精髓,定义、参数、多返回值与应用(14)
|
15天前
|
存储 测试技术 Go
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)