zoukankan      html  css  js  c++  java
  • GoLang学习之变量定义和初始化

    变量命名原则

    go语言的变量名有字母数字和下划线组成,首字母不能为数字,但是字母不仅仅只限于英文字母,所有的UTF-8字符都是可以的。

    变量声明和初始化方式

    使用var关键字

    var a int =  9
    var str string ="jisuanji"
    

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

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

    var a int
    

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

    忽略类型

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

    //这里面的a被自动识别为int类型。
    var a = 5
    

    直接初始化

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

    a:=3
    

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

    多变量声明

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

    //类型相同多个变量, 非全局变量
    var vname1, vname2, vname3 type
    vname1, vname2, vname3 = v1, v2, v3
     //和python很像,不需要显示声明类型,自动推断
    var vname1, vname2, vname3 = v1, v2, v3
    //出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现
    vname1, vname2, vname3 := v1, v2, v3 
    

    代码示例

    package main
    
    import "fmt"
    
    var c,d int = 1,2
    var e,f = 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)
    }
    

    运行结果:

    v21 is 3
    v22 is 2
    v23 is 3
    v24 is 4
    1 2 123 hello 123 hello
    
  • 相关阅读:
    Linux 3.2中回写机制的变革
    Linux字符设备与块设备的区别与比较
    分布式文件系统:原理、问题与方法
    为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
    Linux IO barrier
    磁盘IO:缓存IO与直接IO
    【珍藏】高性能IO模型浅析
    souretree+上面提交代码和gerrit上面出现Cannot+merge的时候的解决方法
    vscode快速生成自定义HTML模板
    在jq里面设置样式的高度height、设置隐藏和显示的小功能
  • 原文地址:https://www.cnblogs.com/senlinyang/p/8858164.html
Copyright © 2011-2022 走看看