Golang从入门到精通(四):Golang变量定义和初始化

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiangxianghehe/article/details/78781914

变量命名原则

Go语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。
但是字母不限于英文字母,所有UTF-8字符都可以。

声明和初始化方式

1.使用var关键字
声明和初始化变量的一般形式是使用 var 关键字,例如:

var a int = 9

注意,Go语言变量类型放在变量名之后!

如果上面的代码段没有初始化值,那么变量就会被初始化为对应类型的零值。

var a int

这个代码片段声明了一个int类型变量a,并把a初始化为int零值,即0。

2.忽略类型
这种声明和初始化变量的方式相比于第一种,就是省去了变量的类型,Go语言编译器可以根据你的初始值自动判断出类型。例如:

var a = 5

这里面的a被自动识别为int类型。

3.直接初始化

这种方法定义和初始化变量,既不需要var关键字,也不需要指定类型,快捷又方便,实际的代码中建议用这种方式。

a := 3

以上代码段定义了一个变量a,并把它初始化为3。

4.多变量声明

Go语言可以同时声明和初始化多个变量这个和Python有点像,具体语法如下:

//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断

vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现
代码示例

把上面几种变量定义和初始化的方法整理一下,如下:

package main

import (
    "fmt"
)

var c, d int = 1, 2
var e, f = 123, "hello"

//!!注意:下行这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"
func main() {

    var v21 int32  //被定义初始化为0
    var v22 int = 2
    var v23 = 3 //被自动识别为int类型
    v24 := 4    //简易声明&定义的方式
    v21 = int32(v23) //强制转换


    g, h := 123, "hello"
    fmt.Println("v21 is", v21) //v21被赋新值
    fmt.Println("v22 is", v22)
    fmt.Println("v23 is", v23)
    fmt.Println("v24 is", v24)
    fmt.Println(c, d, e, f, g, h)
}

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

本文来自:CSDN博客

感谢作者:xiangxianghehe

查看原文:Golang从入门到精通(四):Golang变量定义和初始化

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

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