分享
  1. 首页
  2. 文章

go - 变量和常量

chuangrain · · 2025 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1.定义变量

goLang中定义变量的方式很多

先声明再使用;如果定义的变量未使用编译时会报错
a.

/*定义单个变量*/
var varName type //定义一个 type 类型的变量 varName
varName = value //给变量 varName 赋值
var varName type = value //定义变量并赋初始值
/*定义多个变量*/
var varName1, varName2 type //定义两个 type 类型的变量 varName1 和 varName2
varName1, varName2 = val1, val2 //给两个变量分别赋值,varName1 = val1 ...
var varName1, varName2 type = val1, val2 //定义两个 type 类型的变量,varName1 = val1 ...
b.
/*单个*/
var varName = val //定义变量并赋初始值,系统会根据 val (值)的类型来定义 varName (变量)的类型
/*多个*/
var varName1, varName2 = val1, val2 //varName1 = val1 ... (同上)
c.
/*单个*/
varName := val //同 b 一样,根据值来判定变量的类型
/*多个*/
varName1, varName2 := val1, val2 //varName1 = val1 ...
//用 ":=" 取代 var type,写法更简洁,但是这种声明方式只能用在函数内部,否则编译会报错
d.
_, varName2 := val1, val2 //丢弃 val1 , varName2 = val2
//_(下划线)是一个特殊的变量,赋给它的值会被丢弃

e.

定义多个变量时可用 ( ) 来声明,减少代码量

var (
 varName1 type
 varName2 type
) //定义两个变量
var (
 varName1 = val1
 varName2 = val2
) //定义两个变量并赋值

2. 常量

常量:在程序不能被改变的值,一般都定义为数值,布尔值,字符串等

格式:

const constName [type] = val
//定义一个常量 constName = val , type可省略,编译时系统会根据 val 来确定类型
注:

1). var num = 3 //实际上 3 也称为常量

2). 格式中 val 可以是表达式,但不能为运行时才能知道结果的表达式

3). 预定义常量: true / false / iota

4). 定义多个常量时,也可用下面方式

const (
 constName1 [type] = val1
 constName2 [type] = val2
)


note_var_const.go code list

package main //声明当前文件所属的包名,main 是一个可独立运行的包,编译后会生成可执行文件
import "fmt" //导入包
var id = 123456
/*
id2 := 654321
//在函数外用 := ,编译时会出现错误
//non-declaration statement outside function body
*/
const PI = 3.14
//每个可独立运行的程序,都包含入口函数 main ,与其他语言相同,但无参数和返回值
func main() {
	var num int
	num = 100
	fmt.Println(num)	//输出 100
	var num1, num2 int
	num1, num2 = 1, 2
	fmt.Println(num1, num2) //输出 1 2
	var no1, no2 = 3, 4
	fmt.Println(no1, no2) //输出 3 4
	n1, n2 := 5, 6
	fmt.Println(n1, n2)	//输出 5 6
	_, n := 7, 8
	fmt.Println(n) //输出 8
	var (
		key1 string
		key2 string
	)
	key1, key2 = "k1", "k2"
	fmt.Println(key1, key2) //输出 k1 k2
	var (
		a = 9
		b = 10
	)
	fmt.Println(a, b) //输出 9 10
	fmt.Println(id) //输出 123456
	fmt.Println(PI) //输出 3.14
	/*
	PI = 3.1415
	//改变常量的值,编译会出现错误
	//cannot assign to PI
	//cannot use 3.1415 (type float64) as type ideal in assignment
	*/
}



有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:chuangrain

查看原文:go - 变量和常量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
2025 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏