• Go by Example-变量


    在上一节中提到了值类型,但是他们都是写在输出语句里的,如果后面程序需要用的话就显得非常的不方便,所以更好的办法就是把它们定义成变量,然后在调用。

    变量

    和Python不同的是,Go语言中的变量是需要的显示的声明出来的一般会使用var关键字进行声明,GO编译器会在编译的时候检查其正确性,如果你写错可是运行不起来的,
    另外go语言还有一个特点,定义了的东西就要去使用,如果定义了不使用,在编译的时候也是会报错的哦。

    Go语言的变量声明有多种方法,用的最多的是下面两种:
    1.可以使用关键字var显示的指出变量的类型,然后稍后再为其赋值,也可以直接为其赋值。

    使用var声明变量

    其格式为:

    关键字var+变量如果多个使用,间隔+变量类型
    

    下面看具体情况:

    var a int
    

    像上面的代码,如果只是声明了不用,那么编译器会报错,

    var b int
    fmt.Println(b)
    

    这里声明了,虽然没赋值但是后面使用了,在Go中如果打印没有赋值的声明变量,会输出对应类型的零值,因为b类型为int,所以会输出0。

    var c,d string ="ok","let's go"
    fmt.Println(c,d)
    

    同样的Go还支持多变量赋值。

    短变量

    第二种声明变量的方法,称之为短变量声明(在Python3.8也加入了这个符号,称之为海马运算符)

    f:=bool 
    fmt.Println(f)
    

    代码示例

    最后来一个综合示例

    package main
    import "fmt"
    func main() {
    	// var a string = "hello" 如果定义了不使用编译器出提示错误
    	var b, c int = 3, 4 //使用var 关键字可以同时定义多个变量,记得最后指定类型
    	fmt.Println(b, c)
    	var d = true
    	fmt.Println(d)
    	var e int
    	fmt.Println(e)
    	f := "hello dj"
    	fmt.Println(f)
    }
    

    对应的Python代码如下:

    def main():
    	# a  = "hello" 如果定义了不使用也没事
    	b, c  = 3, 4 #可以同时定义多个变量,不用指定类型
    	print(b, c)
    	d = True #Ture,首字母要大写
    	print(d)
    	#e 不允许声明了不赋值
    	#print(e)
    	print(f := 1>2) #需要Python3.8支持,一般都是赋值之后进行判断操作,Pycharm解释器会提示错误。
    
    if __name__ == '__main__':
        main()
    

    总结

    • Go是静态语言,Python是动态语言。
    • 静态语言一般需要先编译,然后运行。
    • 动态语言运行时编译。对于变量类型在运行时会解析。
  • 相关阅读:
    让VC6.0编译出来的程序支持XP样式或XP风格
    table+js实现网站左侧列表下拉隐藏
    图片或文件保存到数据库
    C#使用Cookie方法
    oracle实现今年数据 去年同期和增长百分比
    检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005
    oracle&&Sqlserver获取表名列名主键及数据类型
    sql中将null转换为空
    sql 游标
    oracle 提示口令失效解决方法
  • 原文地址:https://www.cnblogs.com/c-x-a/p/11461186.html
Copyright © 2020-2023  润新知