zoukankan      html  css  js  c++  java
  • 学习go语言编程系列之定义变量

    package main

    import (
    "fmt"
    "math"
    )

    func main() {
    // 1. 定义变量名age,不初始化,使用对应类型的默认值
    var age int
    fmt.Println("My age is", age)

    // 2. 给变量赋值
    age = 29
    fmt.Println("My age is", age)
    age = 50
    fmt.Println("My age is", age)

    // 3. 定义变量时初始化值
    var height int = 160
    fmt.Println("My height is", height)

    // 4. 变量类型推断: 定义变量时不用明确指定变量类型,而是根据初始化值推断变量类型
    var weight = 130
    fmt.Println("My weight is", weight)

    // 5. 可以同时定义多个变量值
    // 同时定义多个变量并初始化值
    var myage, myheight int = 29, 160
    fmt.Println("My age is", myage, ", and my height is", myheight)

    // 5.1 如果在同时定义多个变量时初始化值,可以不用明确指定变量类型,根据变量值推断变量类型
    var hisage, hisheight = 29, 170
    fmt.Println("His age is", hisage, ", and his height is", hisheight)

    // 5.2. 当然,也可以同时在定义变量之后再进行赋值
    var herage, herheight int
    herage = 30
    herheight = 170
    fmt.Println("Her age is", herage, ", and her height is", herheight)

    // 5.3. 另外,可以同时定义多个变量值,并赋不同类型的值
    var (
    name_ = "cccc"
    age_ = 29
    height_ int
    )
    fmt.Println("name_ is", name_, ", age_ is", age_, ", height_ is", height_)

    // 6. go语言还提供了一种简洁的变量定义方式,通过操作符":="实现
    // 在这种方式下,定义变量时不能使用var符号: 要求,必须同时对所有定义变量赋值, 否则报错
    _name, _age := "dddd", 31
    fmt.Println("_name is", _name, ",_age is", _age)

    // 如下定义报错:未同时对定义的多个变量赋值
    __name, __age := "eeeee"
    fmt.Println("__name is", __name, ", __age is", __age)

    // 另外,在这种方式下,操作符":="左边的变量:要求至少有一个是最新定义的
    i, j := 10, 11
    fmt.Println("i=", i, ",j=", j)

    j, k := 12, 13 // 操作符左边的k变量是最新声明的,满足"至少有一个变量时新定义的"条件
    fmt.Println("j=", j, ",k=", k)

    j, k := 14, 15 // 操作符左边的变量都是已经定义过的,不满足"至少有一个变量时新定义的"条件,运行时报错
    fmt.Println("j=", j, ",k=", k)

    // 7. 变量初始化值还可以是表达式值
    a, b := 10.0, 11.1
    c := math.Min(a, b)
    fmt.Println("a=", a, ", b=", b, ", and c=", c)

    // 8. 变量一但被赋值,类型就确定了,不能再赋值其他类型的值
    ok := 20
    fmt.Println("ok is", ok)
    ok = "Hello" // 变量ok的类型一旦赋值之后就确定,不能再赋值其他类型的值了

    fmt.Println("学习GO语言变量定义完毕!")

    }

  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/nuccch/p/7336992.html
Copyright © 2011-2022 走看看