我的编程空间,编程开发者的网络收藏夹
学习永远不晚

golang中"var"与":="的区别解析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

golang中"var"与":="的区别解析

Go语言里面定义变量有多种方式。

使用var关键字是Go最基本的定义变量方式,有时也会使用到:=来定义变量。

定义变量

// 定义一个名称为“variableName”,类型为"type"的变量
// var variableName type
var number int

定义变量并初始化值

// 初始化“variableName”的变量为“value”值,类型是“type”
// var variableName type = value
var number int = 10

同时初始化多个变量,又叫平行赋值


// var vname1, vname2, vname3 type = v1, v2, v3
var number1, number2, number3 int = 1, 2, 3

你是不是觉得上面这样的定义有点繁琐?没关系,因为Go语言的设计者也发现了,有一种写法可以让它变得简单一点。我们可以直接忽略类型声明,那么上面的代码变成这样了:


// var vname1, vname2, vname3 = v1, v2, v3
var number1, number2, number3 = 1, 2, 3

你觉得上面的还是有些繁琐?好吧,我也觉得。让我们继续简化:


// vname1, vname2, vname3 := v1, v2, v3
number1, number2, number3 := 1, 2, 3

现在是不是看上去非常简洁了?:=这个符号直接取代了vartype,这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用var方式来定义全局变量。

换句话说,“:=”只能在声明“局部变量”的时候使用,而“var”没有这个限制。

到此这篇关于golang中“var”与“:=”的区别的文章就介绍到这了,更多相关go var :=区别内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

golang中"var"与":="的区别解析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

golang中"var"与":="的区别解析

这篇文章主要介绍了golang中“var”与“:=”的区别,使用var关键字是Go最基本的定义变量方式,有时也会使用到:=来定义变量,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-18

document.getElementBy("id")与$("#id")有什么区别

有朋友问document.getElementBy("id")与$("#id")的区别,其实第一个就是js中获取对象的方法, 第二个是通过自定义函数方便调用,而第三个是jquery中获取id对象的方法
2022-11-15

MySQL explain结果Extra中"Using Index"与"Using where; Using index"区别探究

问题背景最近用explain命令分析查询sql执行计划,时而能看到Extra中显示为"Using index"或者"Using where; Using Index",对这两者之间的明确区别产生了一些疑惑,于是通过网上搜索、自行实验探究了一番其具体区别。测试数
MySQL explain结果Extra中"Using Index"与"Using where; Using index"区别探究
2015-10-12

c语言中" "和' '的区别

c 语言中 “”和'' 均表示字符串常量,区别在于:字符长度:“”可包含任意长度,''只能包含单字符。转义字符:“”支持,''不支持。字符集:“”支持 unicode,''只支持 ascii。c 语言中 “”和'' 的区别在 C 语言中,
c语言中" "和' '的区别
2024-05-02

python中的iterator和"lazy iterator"区别介绍

这篇文章主要介绍了python中的iterator和 “lazy iterator“之间有什么区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-14

python中的iterator和"lazy iterator"区别是什么

这篇文章主要介绍了python中的iterator和"lazy iterator"区别是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python中的iterator和"lazy iterator"区别是什
2023-07-05

c语言中'a'和"a"的区别

'a' 和 "a" 在 c 语言中表示不同的字符常量:'a' 是一个字符,而 "a" 是包含一个字符的字符串。它们在类型、存储、用法、语法和示例中都有差异。单引号 'a' 和双引号 "a" 的区别'a' 和 "a" 在 C 语言中是不同的
c语言中'a'和"a"的区别
2024-05-02

VC++ 2019 "const char*"类型的实参与"LPCTSTR"类型的形参不兼容解决

这篇文章主要给大家介绍了关于VC++ 2019 "const char*"类型的实参与"LPCTSTR"类型的形参不兼容的解决方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
2023-03-08

c++中的system("pause")的作用和含义解析

在C++中,system("pause")的作用是暂停程序的执行,等待用户按下任意键继续执行下去。具体含义解析如下:1. system函数是C标准库中的函数,用于执行操作系统的命令。2. "pause"是一个操作系统的命令,用于暂停程序的执
2023-08-09

VC++ 2019 "const char*"类型的实参与"LPCTSTR"类型的形参不兼容如何解决

本篇内容介绍了“VC++ 2019 "const char*"类型的实参与"LPCTSTR"类型的形参不兼容如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔
2023-07-05

字符串 len == 0 和 字符串== "" 的区别有哪些

这篇文章主要讲解了“字符串 len == 0 和 字符串== "" 的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“字符串 len == 0 和 字符串== "" 的区别有哪些”吧
2023-06-15

关于Vue "__ob__:Observer"属性的解决方案详析

在操作数据的时候发现,__ob__:Observer这个属性出现之后,如果单独拿数据的值,就会返回undefined,下面这篇文章主要给大家介绍了关于Vue "__ob__:Observer"属性的解决方案,需要的朋友可以参考下
2022-11-16

JS中new Date().Format("yyyy-MM-dd") 报错的解决

这篇文章主要介绍了JS中new Date().Format("yyyy-MM-dd") 报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录