老师您好,三种定义变量的方式在性能和内存上有没有什么区别呢

老师您好,三种定义变量的方式在性能和内存上有没有什么区别呢

# 具体遇到的问题

老师,您好,我想请问一下这三种方式的定义变量,在性能和内存开辟上有没有什么区别呢?


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,这个也没有规定必须要怎么写,一般是这样,公用的部分可以定义成全局的 var a = 0 或者 var a int =0,如果是函数内部临时的可以使用 a := 0这种方式, 性能方面没什么影响,内存布局方面, 如果函数外部没有引用,则优先放到栈中; 如果函数外部存在引用,则需要放到堆中; 


http://img1.sycdn.imooc.com//climg/5fb76ed609011f0314210598.jpg


加油~

qq_狄仁杰_fopvCM 2020-11-24 10:34:34

这三种定义类型没有明显得优缺点,在函数内部建议使用简短方式,简单,如果需要定义全局放免得变量可以考虑使用其它两种方式

我是波哥 2020-11-16 23:12:17

同学你好


var int a   //这种书写方式相当于定义一个变量叫int,类型为a,这个a类型前提是你需要把它定义出来

var a = 0  //等价于 var a int = 0  ,函数外,内都可以使用。

a := 0   //只能在函数内部赋值


  • 性能和内存方面会有差异么,工作中是根据实际情况定义还是哪种会是主流定义方式?
    2020-11-17 20:57:34
  • 这个也没有规定必须要怎么写,一般是这样,公用的部分可以定义成全局的 var a = 0 或者 var a int =0,如果是函数内部临时的可以使用 a := 0这种方式, 性能方面没什么影响,内存布局方面, 如果函数外部没有引用,则优先放到栈中; 如果函数外部存在引用,则需要放到堆中; 具体看老师发的截图
    2020-11-20 15:22:57
我是波哥 2020-11-13 08:26:03

同学你好,具体的代码贴出来下

  • 提问者 黄花菜不凉hhh #1
    老师不好意思,忘了贴代码了。 var int a var a = 0 a := 0 这三种方式的定义变量,在性能和内存开辟上有没有什么区别呢?
    2020-11-13 22:37:42
  • 提问者 黄花菜不凉hhh #2
    var int a var a = 0 a := 0
    2020-11-13 22:38:19
  • 我是波哥 回复 提问者 黄花菜不凉hhh #3
    同学你好,详细说明如下 var int a //这种书写方式相当于定义一个变量叫int,类型为a,这个a类型前提是你需要把它定义出来 var a = 0 //等价于 var a int = 0 ,函数外,内都可以使用。 a := 0 //只能在函数内部赋值
    2020-11-16 23:11:44
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师