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的值所以匿名变量的作用就体现出来了。

相关推荐
想用offer打牌37 分钟前
高并发下如何保证接口的幂等性
后端·面试·状态机
爱勇宝1 小时前
2026一人公司生存指南:用AI大模型,90天跑出你的第一条现金流
前端·后端·架构
golang学习记1 小时前
Go 并发编程:原子操作(Atomics)完全指南
后端
哈里谢顿2 小时前
`127.0.0.1` 和 `0.0.0.0` 有何区别?通过验证 demo来展示
后端
树獭叔叔2 小时前
08-大模型后训练的指令微调SFT:LoRA让大模型微调成本降低99%
后端·aigc·openai
苏三说技术2 小时前
我终于遇到一台真正懂程序员的显示器!
后端
Re_zero3 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
花落人散处3 小时前
流式输出——解决 HITL 难题 (SpringAIAlibaba)
后端
BingoGo4 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack4 小时前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端