Golang基础语法:变量(一)--十安辰

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

变量介绍

概念

变量相当于内存中的一个数据存储空间的地址,你可以把计算机看作一栋大楼,变量就是大楼的房间的门牌号,我们通过门牌号找到对应房间,存放货物 ,取用货物。


变量的使用的基本步骤

1、变量声明(定义变量)

2、变量赋值,变量初始化

3、使用变量

例子:

package main
import "fmt"
func main() {
    //变量声明(定义)
    var a int 
    //给a赋值
    a = 10
    //使用变量
    fmt.Println("i=",i)
}

Golang变量使用的三种方式

请依据以下例子理解

package main
import "fmt"
func main() {
    //第一种使用方式:指定变量类型,声明变量后若不赋值,则使用默认值
    //int 的默认值是0,string的默认值是空字符串"",
    var a int
    fmt.Println("a=",a)
    
    //第二种使用方式:不声明类型,编译器根据值自行判断变量类型
    var num = 9.11
    fmt.Println("num=",mun)
    
    //第三种使用方式:省略var,使用:= 声明变量,
    //注意":""是英文字符的":"
    //:=左侧的变量不应该是已经声明过的变量,否者会导致编译错误
    //var name string = "konnor"等价于 name := "konnor"
    name := "konnor"
    fmt.Println("name=",name)
}

多变量声明

请依据以下例子理解

package main
import "fmt"
func main() {
    //以下语句一次性声明多个变量为int类型
    //方式一:
    var n1, n2, n3 int
    fmt.Println("n1=",n1,"n2=",n2,"n3=",n3)

    //方式二
    var m1, name, m3 = 888, "konnor", 999
    fmt.Println("m1=",m1,"name=",name,"m3=",m3)

    //方式三:使用系统类型推导
    var q1, name1, q3 = 666, "konnor", 2333
    fmt.Println("q1=",q1,"name=",name1,"m3=",q3)
}


全局变量

请依据以下例子理解

package main
import "fmt"
//定义全局变量方式一:
var n1 = 100
var n2 = 200
var name1 = "Jade"
//全局变量一次性变量二:
var (
    m1 = 100
    m2 = 200
    name2 = "Konnor"
)
func main() {
    fmt.Println("n1=",n1,"n2=",n2,"name=",name1)
    fmt.Println("m1=",m1,"m2=",m2,"name=",name2)
}

变量使用注意事项

1、一个变量声明之后可以在作用域范围且不改变类型的前提下不断变化

2、变量在同一个作用域(一个函数或者在一个代码块儿内)不可以重名

3、变量的三要素:变量 = 变量名 + 值 + 数据类型

4、没有赋初值,编译器会使用默认值

变量类型 没有赋值的初值
complex64、complex12 0+0i
int、int8、int16、int32、int64 0
string 空字符串
float32、float64 0
pointer nil(空指针)
切片 nil(长度为 0,容量为 0)
error nil
boolean型 false
map nil
interface (nil, nil)

所有文章首发平台是微信公众号-极客印记,同步发布到CSDN,简书,掘金等平台博客--十安辰,喜欢的话,记得微信扫码关注我哦

极客印记


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

本文来自:简书

感谢作者:十安辰

查看原文:Golang基础语法:变量(一)--十安辰

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

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