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

相关推荐
小码哥_常17 小时前
解锁AI编程密码:程序员常用的10个AI提示词
后端
九转成圣17 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio17 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython17 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫17 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch17 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI17 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_00117 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念23417 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃17 小时前
某量JS逆向
开发语言·javascript·ecmascript