Go语言 之 变量声明

2023-11-05

声明变量

能声明的数据类型:
https://www.runoob.com/go/go-data-types.html
变量可以声明为全局变量和局部变量,在函数外声明为全局变量,函数内声明为局部变量
声明变量方式为 var 变量名 数据类型

package main

var age int;

func main(){
	var name string;
	var flag bool
}

最新版本中go可以不用声明数据类型,通过插入的值作为判断来声明变量类型

var age = 1;
var name = "小明"

需要注意的一点是,声明局部变量不引用会报错并且无法编译,而全局变量并不会有这个问题
在这里插入图片描述
在这里插入图片描述
引用后就能正常使用
在这里插入图片描述
在这里插入图片描述

批量声明

声明变量时可以一次性声明多个变量 需要用var () 包含在内

var (
	age = 1
	flag = true
)
简短变量声明

该声明方法仅限在函数内使用,是根据赋值类型判断该变量数据类型方法

import "fmt"
func main(){
	name := "xiaoming"
	fmt.println(name)
}
常量

声明时将 var 换成 const,常量声明必须赋值,声明后,该变量值一般不会更改

const n = 1

也可以做批量声明

const (
	n1 = 100
	n2 = 200
)

常量的批量声明时,若后面的变量没有声明值的话,会自动赋值为上面最近的值

import "fmt"

const (
	n1 = 100
	n2 = 200
	n3
	n4
)

func main() {
	fmt.Println(n1,n2,n3,n4)
}

在这里插入图片描述

iota

iota是go语言的常量计数器,只能在常量的表达式使用
iotaconst关键字时出现被重置为0。const中每新增一行常量声明将使iota计数一次,定义枚举时会很有用。

const (
	n1 = iota // 0
	n2 		  // 1
	n3        // 2
	n4        // 3
)

当变量声明在一行时

const (
	n1,n2 = iota + 1,iota + 2  // n1: 1, n2: 2 iota == 0
	n3,n4 = iota + 1,iota + 2  // n3: 2, n4: 3 iota == 1
)

定义数量级

const (
	_ = iota  // _ 将 0 的值忽略
	KB = 1 << (iota * 10)  // 2的10次方
	MB = 1 << (iota * 10)  // 2的20次方
	GB = 1 << (iota * 10)  // 2的30次方
	TB = 1 << (iota * 10)  // 2的40次方
	PB = 1 << (iota * 10)  // 2的50次方
)
匿名变量

匿名变量通常用_表示,他不会被分配内存空间,常用于忽略函数返回值

const (
	n1 = iota // 0
	n2 		  // 1
	_		  // 2
	n3        // 3
	
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go语言 之 变量声明 的相关文章

随机推荐

  • Linux如何(永久)关闭SElinux和firewalld防火墙

    本文基于Linux上CentOS 7版本进行演示 目录 一 关闭SElinux 1 临时关闭 2 永久关闭 二 关闭防火墙 firewalld服务 1 查看防火墙状态 2 关闭防火墙 一 关闭SElinux 1 临时关闭 使用setenfo
  • CAN接受和发送失败的原因有哪些---之前调试MCP2515驱动时,数据一直发不出去,三个发送邮箱都被占满.至今未解决,读寄存器-总线错误

    0 CAN总线错误分析与解决 讲的最精辟的放在最前面 我们知道CAN总线上的每个节点往总线上发送数据的同时会同时读取总线上的数据 并与自己发送的数据作对比 CAN仲裁 CAN总线错误分别有发送和接收错误计数 计数达到一定的累计以后就会产生C
  • InnoDB存储引擎 3文件

    参数 查看information schema下的GLOBAL VARIABLES查找参数 但是在mysql8 0 21没有这张表格 视图 出错 SELECT FROM global variables WHERE VARIABLE NAM
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • count(1)、count(*)与count(列名)的执行区别

    执行效果 1 count 1 and count 当表的数据量大些时 对表作分析之后 使用count 1 还要比使用count 用时多了 从执行计划来看 count 1 和count 的效果是一样的 但是在表做过分析之后 count 1 会
  • Python计算水仙花数

    水仙花数是指一个 3 位数 它的每个位上的数字的 3次幂之和等于它本身 例如 1 3 5 3 3 3 153 方法1 用 for循环 控制1000以内的3位数 依次求出该3位数中的个十百位 判断是否是水仙花数 方法2 x y z分别表示一个
  • 如何创建并发布你的angular组件库

    本例创建一个天气组件 ng new weatherwidget createApplication false 选择不要路由 选择scss cd weatherwidget 用vs code打开本项目 创建组件库weather ng gen
  • 给学习C语言的朋友推荐一本好书!

    友情提示 本图书链接指向第二书店的图书详细页面 近期公司要开展技术学习及培训 推荐使用了两本教材 一本是清华大学出版社的 计算机科学概念 第8版 人民邮电出版社出版了该书的第7版 另一本则是电子工业社出版的Programming in C
  • drools规则引擎的在项目中的使用手记

    需求 按照登录用户的会员等级 和签到周期 根据一定的计算规则送积分 由于之前都是通过if else去做的控制 规则变更的时候可能需要重新调整代码甚至发布服务 由于不想再每次规则变更后需要调整代码 于是最近在确认方案 于是最好找到了规则引擎
  • python3 条件语句

    条件语句 if 判断条件 执行语句 else 执行语句 if 判断条件1 执行语句1 elif 判断条件2 执行语句2 elif 判断条件3 执行语句3 else 执行语句4 python 并不支持 switch 语句 如果多个条件需同时判
  • uniapp打包app,对接华为厂商,实现unipush离线消息推送

    今天终于可以抽出点时间 来记录一下这几天心塞的心情 上周公司派过来一个活 说是使用uniapp制作一个app 同时要实现在线消息推送和离线消息推送 啥话没说就揽了下来 不过说实在的 从来没有开发过app 好歹会点vue 可想而知 接下来的几
  • arduino基础25个实验代码

    arduino基础25个实验代码 双色LED灯项目源码 int redPin 11 红色LED引脚 int greenPin 10 绿色LED引脚 int val 0 PWM输出值 void setup pinMode redPin OUT
  • 华为打造狼性团队的22条军规

    打造狼性团队的22条军规 领导者要读3遍 打出来 贴到桌子上 做老板的 无不对华为公司的狼性团队推崇有加 华为的狼性文化之所以如此成功 三大因素缺一不可 一是具有诱惑力的薪酬 这是自驱力 二是内部竞争机制 这是推动力 三是执行力文化 这是牵
  • 类的静态成员变量为什么不能再h文件类外初始化

    h文件 class Image public static void AddProtoType Image iamge Prototype nsize iamge private static Image Prototype 10 stat
  • pandas练习题

    按要求创建Dataframe df 并通过分组得到以下结果 以A分组 求出C D的分组平均值 以A B分组 求出D E的分组求和 以A分组 得到所有分组 以字典显示 按照数值类型分组 求和 将C D作为一组分出来 并计算求和 以B分组 求出
  • git撤销一次代码提交方法

    以下方法亲测有效 但是根据需求选择哦 友情提示 注意备份 方法一 1 删除上一次提交 或者撤销上一次合并 reset方式是将HEAD指针指到指定提交 历史记录则不会出现你删除的上步commit记录等 合并时间线等都会删除彻底 并删除 mer
  • 分享是个好习惯

    无止境的求索 把脚印记下来 累了 迷茫了 回头望望 记住来时的路 收拾收拾行囊 云淡风轻
  • C++字符指针的特殊

    如果我们对一个非字符的指针进行操作 方法是这样的 注意 int p 则p i 等价于 p i 定义 1 int a 7 int p a 或者 2 int a 7 int p p a 或者 3 int a 7 int p p a 1 这样定义
  • matlab将一个数组中的元素转换为整型_科学计算

    最近期末考试结束了 自己立下了一个flag 自学MATLAB 写这篇文章的目的就在于将自己所学的知识输出 希望能够帮到你 大家一起相互学习吧 话不多说 下面直接进入主题 01matlab系统环境 1 matlab操作界面的组成 matlab
  • Go语言 之 变量声明

    声明变量 能声明的数据类型 https www runoob com go go data types html 变量可以声明为全局变量和局部变量 在函数外声明为全局变量 函数内声明为局部变量 声明变量方式为 var 变量名 数据类型 pa