Go基础 - 2 变量,常量

变量
  • 已声明但未使用的变量会在编译阶段报错
package main

import "fmt"

func main() {

    var a int = 1
    fmt.Println(a)

    //var可以声明一个或多个变量
    var b, c string = "a", "b"
    fmt.Println(b, c)

    //声明为没有相应初始化的变量是零值的(int的零值是0, string的零值是空)
    var d int
    fmt.Println(d)

    //Go将推断初始化变量的类型
    //(:=)简短变量声明一般用于局部变量的声明和初始化,var往往是用在需要先指定变量类型稍后再赋值的
    //不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用var方式来定义全局变量
    e := true
    fmt.Println(e)

    //_(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃
    _, f := 7, 8
    fmt.Println(f)
}
1
a b
0
true
8
常量
// Go支持字符, 字符串, 布尔值和数值的常量
package main

import "fmt"

//用 const 关键字定义常量
const a string = "A"

func main() {

    fmt.Println(a)

    //const 可以定义一个或多个常量
    const b, c = 1, 3
    fmt.Println(b, c)

    //表达式里可以有常量, 但不能有变量
    const d = 4 - b
    fmt.Println(d)

}
A
1 3
3
常量计数器
  • iota是常量的计数器, 从0开始, 组中每定义1个常量自动递增1
  • 每遇到一个const关键字, iota就会重置为0
package main

import "fmt"

const (
    GB int = 1 << (iota * 10)
    MB int = 1 << (iota * 10)
    KB int = 1 << (iota * 10)
)

const (
    a int = iota
    b
)

func main() {

    fmt.Println(GB, MB, KB)
    fmt.Println(a, b)

}
1 1024 1048576
0 1
相关阅读
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟洪winni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值