首页 > 其他 > 详细

go 基础

时间:2020-03-29 00:05:26      阅读:58      评论:0      收藏:0      [点我收藏+]

变量声明

  • // var 变量名  变量类型
    var name string
  • // 批量声明
    var (
        a string
        b int
  • //  初始化
    var 变量名 类型  =  表达式
    //   一次初始化多个
    var a, b = 1, 2
  • //  变量推导,可以省略类型,根据右边定义的值自动推导类型
    var a = 123
  • // 短变量声明,一般用于函数内部,不能在函数外使用
    a := 100
  • // 匿名变量,用 _ 表示   用于获取多个值时忽略某个值
    
    package main
    
    import "fmt"
    
    func qwer() (int, string) {
        return 1, "haha"
    }
    
    func main()  {
        a, _ := qwer()
        _, b := qwer()
        fmt.Println("a=", a)
        fmt.Println("b=", b)
    }

常量

  • // const  常量名 = xxx
    const a = 1
  • // 多个常量
    
    const (
        b = 12
        c = 34
    )
    
    // const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
    
    const (
        d = 12
        e 
    )

iota

iota是go语言的常量计数器,只能在常量的表达式中使用

  • // iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。
    const
    ( a = iota // 0 b // 1 ) const c = iota // 0
  • // demo1  使用 _ 跳过某些值
    const (
            n1 = iota //0
            n2        //1
            _
            n4        //3
        )
    
    
    // demo2  iota声明中间插队
    const (
            n1 = iota //0
            n2 = 100  //100
            n3 = iota //2
            n4        //3
        )
    
    
    /* demo3  
    定义数量级 (这里的<<表示左移操作,1<<10表示将1的二进制表示向左移10位,也就是由1变成了10000000000,也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。)
    */
    const (
            _  = iota
            KB = 1 << (10 * iota)
            MB = 1 << (10 * iota)
            GB = 1 << (10 * iota)
            TB = 1 << (10 * iota)
            PB = 1 << (10 * iota)
        )
    
    
    // demo4  多个iota定义在一起
    const (
        a, b = iota + 1, iota + 2 //1,2
        c, d                      //2,3
        e, f                      //3,4
        )

 

参考 https://www.liwenzhou.com/posts/Go/go_menu/ 整理记录

 

go 基础

原文:https://www.cnblogs.com/nernogno/p/12589800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!