02 - 【Go语言学习笔记】变量和常量


本文摘自网络,作者,侵删。

变量

  • Go语言的变量类型声明,可以选择手动指定自动推断,如下对于变量num的声明:
//手动指定int类型变量num
var num int = 1
//自动推断,使用 :=
num := 1

常量

  • 常量使用const关键词声明
  • 可以快速设置连续常量值,如下代码块:
package test

import (
    "testing"
)

const (
    ONE = iota + 1
    TWO
    THREE
    FOUR
    FIVE
)

func TestConst(t *testing.T) {
    t.Log(ONE, TWO, THREE, FOUR, FIVE)
}

运行结果:
=== RUN   TestConst
    my_test.go:16: 1 2 3 4 5
--- PASS: TestConst (0.00s)

此代码块中出现的iota关键字,上网查阅后,作用如下:

  • iota是golang语言的常量计数器,只能在常量的表达式中使用。
  • iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。
  • 使用iota能简化定义,在定义枚举时很有用。
    引用:https://studygolang.com/articles/2192
  • 对比特位进行快速连续设置值:
const (
    TOM = iota << 1
    JACK
    Lee
)
func TestConst2(t *testing.T) {
    a := 7 //7的二进制形式 0111
    t.Log(a&TOM == TOM, a&JACK == JACK, a&Lee == Lee)

    b := 1 //0001
    t.Log(b&TOM == TOM, b&JACK == JACK, b&Lee == Lee)
}

运行结果:
=== RUN   TestConst2
    fib_test.go:27: true true true
    fib_test.go:30: true false false
--- PASS: TestConst2 (0.00s)

本文来自:简书

感谢作者:b1n90

查看原文:02 - 【Go语言学习笔记】变量和常量

相关阅读 >>

手撸Golang Go与微服务 chatserver之4 内存泄漏

Golang 免费的吗?

Go-zero 如何追踪你的请求链路

使用gin封装一个web脚手架(五):实现session(上)

Golang不适合开发web吗

完全掌握Go的pprof使用方法

Golang能使用多核cpu吗

聊聊storagetapper的server

Go设计模式之工厂模式浅谈2

分享一次腾讯Go开发岗位面试经过

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...