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)
    }
  • 相关阅读:
    携程开源框架Apollo基础学习(一)
    nslookup,dig,host的用法详解
    curl命令学习
    Saltstack本地管理无master模式
    Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?
    JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
    #{}和${}的区别是什么?
    为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
    MyBatis 与 Hibernate 有哪些不同?
    MyBatis 的好处是什么?
  • 原文地址:https://www.cnblogs.com/heniu/p/13046990.html
Copyright © 2011-2022 走看看