zoukankan      html  css  js  c++  java
  • Go 语言入门教程:变量

    基础使用

    // base.go  注释
    package main  // 包名
    import "fmt"  // 导入

    func main() {
     fmt.Println("hello")
    }

    // wrong:  fmt.Println("hello")

    main 函数是程序的运行入口,如果没有 main 函数,可以通过导入方式供其他模块调用。

    注意:不能直接在函数外直接使用 fmt.Println

    运行项目:

    go run base.go

    也可以只编译:

    go build base.go

    编译以后可以直接运行可执行文件:

    # linux
    ./base
    # windows
    base.exe

    定义变量

    定义变量不赋值:

    func variableNoValue()  {
     var a int
     fmt.Println(a)
    }

    运行函数会打印 0,在 Go 中,定义了变量类型如果没有赋值,会给它一个 zero value 作为默认值。 不赋值时,必须指定参数类型。

    定义变量赋值:

    func variableInitValue() {
     var a int = 2
     var b string = "hello"
     fmt.Println(a, b)
    }

    当多个变量的类型相同时,可以放在一起定义,并规定类型,主要是方便。

    func variableMultiValue() {
     var firstName, lastName string = "liu""zhen"
     fmt.Println(firstName, lastName)
    }

    赋值时也可以不规定类型,由编译器自己决定类型:

    func varialbeNoType() {
     var a, b = 3"hello"
     fmt.Println(a, b)
    }

    :=

    Go 为变量赋值提供了一种快捷方式, 但是这种用法只能再函数体内使用,不能直接再包内定义。这也是 Go 语言用得最多的一种定义变量的方式。

    func variableQuick() {
     a, b := 5"hello"
     fmt.Println(a, b)
    }

    //wrong
    // a, b := 5, "hello"

    有时候需要在包内定义一系列的变量,可以用 var 分组:

    var (
     a = 1
     b = "hello"
     c = true
    )

    变量总结

    • 函数体内优先使用 a := 5 定义变量,更简洁。
    • 变量可以规定类型,也可以不规定。
    • 变量不赋值时,必须指定类型。
    • 可以使用括号对 var 变量分组

    写一个综合例子,一个包大致长这样:

    package main // 包名
    import "fmt" // 导入

    var (
     a = 1
     b = "hello"
     c = true
    )

    func main() {
     fmt.Println(c)
     variableNoValue()
     variableQuick()

    func variableNoValue() {
     var a int
     fmt.Println(a)
    }

    func variableQuick() {
     a, b  := 5"hello"
     fmt.Println(a, b)
    }
  • 相关阅读:
    CF741C.Arpa’s overnight party and Mehrdad’s silent entering [构造 二分图染色]
    CF719E. Sasha and Array [线段树维护矩阵]
    洛谷7月月赛
    CF666B. World Tour
    BZOJ4668: 冷战 [并查集 按秩合并]
    水题练习 2
    CF715B. Complete The Graph
    关于最短路、负环、差分约束系统的一点笔记
    关于最小生成树,拓扑排序、强连通分量、割点、2-SAT的一点笔记
    hdu1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/heniu/p/13046990.html
Copyright © 2011-2022 走看看