设为首页 加入收藏

TOP

Go语言学习笔记(2)——变量、常量(一)
2019-03-24 14:08:05 】 浏览:112
Tags:语言学习 笔记 变量 常量

1. 变量(变量由字母、数字和下划线组成,且不能以数字开头!)
      1.1 第一种

     var  name type    // 未赋值时使用默认值
     name = value

     1.2 第二种: 根据所赋的值,自行判断变量类型
                      var name = value
     1.3 第三种: 省略var(这种方式只能用于函数体内,而不能用于全局变量的声明与赋值)
                       name := value         //  := 左侧的变量应该是未声明过的

      (多个变量同时声明时,至少保证有一个新变量)  

     eg:
              var a int = 10
              var b = 10    
              a, c := 8, 10             //仅在函数体内使用,其中c为新变量

      1.4 多变量声明
 &nbs

p;     1.4.1 第一种:以逗号分隔,声明与赋值分开
                

      var  a, b, c (int)
      a, b, c  =  1, 2, 3

       1.4.2 第二种: 直接赋值,多个变量可以是不同类型

        var a, b, c = v1, s2, n3

       1.4.3 第三种: 集合类型

       var (
                   name1  type1
                   name2  type2
             )                        

注意:如果声明了一个局部变量却没有在该代码块中使用它(单纯地赋值不算使用),此时会得到编译错误!!!
  

2. 常量
   2.1 显式类型定义:

         const a string = "123"

          2.2 隐式类型定义:

         const a = "123"

          2.3 枚举:

        const (
                         Unknown = 0
                         Female = 1
                         Male = 2
                 )

 “不是枚举”——当常量组中的常量不指定类型和初始化值,则其类型与上一行非空常量右值相同!

        const (
                     x  uint16 = 16
                     y
                     m  =  "abc"
                     n
                 )
      // 所以,其中y是uint16类型,n是string类型

                            
2.4 特殊常量 iota —— 一个可以被编译器修改的常量。在每一个const关键字出现时,被重置为0然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。

       const (
                      a = iota   //1
                      b = iota   //2
                      c = iota   //3
                  )

      可以简写为如下形式:    

        const (
                       a = iota      //1
                       b            //2
                       c            //3
                   )


?下面这个例子一定要认真看看:

     const (
                 a = iota      // 0
                 b            // 1
                 c            // 2
                 d = "ha"      // 独立值,iota += 1 ("中断自增"——iota依然在计数,按照行序自增。)
                 e            // "ha"   iota += 1
                 f = 100       // iota += 1
                 g            // 100  iota += 1
                 h = iota      // 7,恢复计数(必须显式恢复自增)
                 i            // 8
              )
         fmt.Println(a, b, c, d, e, f, g, h, i)
输出结果:0 1 2 ha ha 100 100 7 8

                           
3. 基本数据类型
            3.1 布尔型bool:  常量true和false
            3.2 整型
                          int8 有符号8位整型 (-128 到 127)                 uint8 无符号8位整型 (0 到 255)
                          int16 有符号16位整型 (-32768 到 32767)    uint16 无符号16位整型 (0 到 65535)
                          int32、 int64、 uint32、 uint64
                                
编程开发网

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Go开发之路(目录) 下一篇Go语言学习笔记(1)——Hello Worl..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(217) }