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语言变量定义完毕!")

    }

  • 相关阅读:
    收藏文章整理
    关于java里的SimpleDateFormat使用
    手写MQ框架(四)-使用netty改造梳理
    JDK8中的ConcurrentHashMap源码
    JDK8中的HashMap源码
    手写MQ框架(三)-客户端实现
    手写MQ框架(二)-服务端实现
    Vue.js入门
    Tomcat启动找不到项目依赖jar的解决方式
    java课堂 动手动脑2
  • 原文地址:https://www.cnblogs.com/nuccch/p/7336992.html
Copyright © 2011-2022 走看看