zoukankan      html  css  js  c++  java
  • 第一节 变量与常量

    变量和常量
     
    1.标识符与关键字
     
    标识符:
    在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。
     
    关键字:
    关键字是指编程语言中预先定义好的具有特殊含义的标识符。 关键字和保留字都不建议用作变量名。
    Go语言中有25个关键字:
      break        default      func         interface    select
      case         defer        go           map          struct
      chan         else         goto         package      switch
      const        fallthrough  if           range        type
      continue     for          import       return       var
     
    Go语言中的37个保留字:
        Constants:    true  false  iota  nil
     
        Types:    int  int8  int16  int32  int64 
                      uint  uint8  uint16  uint32  uint64  uintptr
                      float32  float64  complex128  complex64
                      bool  byte  rune  string  error
     
        Functions:   make  len  cap  new  append  copy  close  delete
                     complex  real  imag
                     panic  recover
     
    声明语句定义了程序的各种实体对象以及部分或全部的属性。
    Go语言主要有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。
     
    2.变量
     
    什么是变量
    程序运行过程中,所有的数据都是保存在内存的。
    如果我们要在代码中操作某个数据时,我们可以通过直接访问这个数据的内存地址找到它,也可以通过将这个数据起一个名称,通过这个名称访问该数据。这个名称就是变量名。
    变量保存的是数据的内存地址。
     
    变量类型
    变量的功能是存储数据。不同的变量保存的数据类型可能不同。编程语言经过这么多年发展,已经形成了一套固定的数据类型。常见的变量的数据类型有:整型,浮点型,布尔型等。
     
    Go语言中每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。
     
    变量声明
    Go语言中变量必须要在声明后才能使用。
    Go语言的变量声明后必须使用。
     
    Go语言的变量声明格式为:
    var 变量名 变量类型
     
    变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号。举例:
     
    var name string
    var age int
    var isOk bool
     
    变量的初始化
    Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。
     
    每个变量会初始化成其默认类型的0值。比如整型浮点型变量默认值为0。字符串变量的默认值为空字符串。布尔型变量默认为false。切片,函数,指针变量的默认为nil。
     
    当然我们也可以在声明变量的时候为其指定初始值。变量初始化的标准格式如下:
     
    var 变量名 类型 = 表达式
     
    举例:
    var name string = “google"
    var age int = 18
     
    或者 一次初始化多个变量
    var name, age = “google”,18
     
    类型推导
    变量的类型也可以省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化。
     
    var name = “google"
    var age = 18
     
    短变量声明
    在函数内部,初始化变量可以更简洁,使用:=方式声明并初始化变量。
     
    package main
     
    import (
            "fmt"
    )
    // 全局变量m
    var m = 100
     
    func main() {
            n := 10
            m := 200 // 此处声明局部变量m
            fmt.Println(m, n)
    }
     
     
    匿名变量
    在使用多重赋值时,如果我们想要忽略某个值,可以使用匿名变量 _表示。
     
    func foo() (int, string) {
            return 10, "Q1mi"
    }
    func main() {
            x, _ := foo()
            _, y := foo()
            fmt.Println("x=", x)
            fmt.Println("y=", y)
    }
    注意:匿名变量不占命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
     
     
    常量
    相当于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。
    常量使用const定义,常量在定义的时候必须赋值。
     
    const pi = 3.1415
    const e = 2.7182
     
     
    多个常量也可以一起声明:
    const (
        pi = 3.1415
        e = 2.7182
    )
     
     
    const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。 例如:
    const (
        n1 = 100
        n2
        n3
    )
     
    //上面示例中,常量n1、n2、n3的值都是100
     
     
    iota
     
    iota是go语言的常量计数器,只能在常量的表达式中使用。
    iota在const关键字出现时将被重置为0.
     const中每新增一行常量声明使用iota计数一次。(iota相当于const语句块中的行索引)
     
    几种常见的iota示例:
    举个例子:
    const (
                    n1 = iota //0
                    n2        //1
                    n3        //2
                    n4        //3
            )
     
    几个常见的iota示例:
    使用_跳过某些值
     
    const (
                    n1 = iota //0
                    n2        //1
                    _
                    n4        //3
            )
    多个iota定义在一行
    const (
                    a, b = iota + 1, iota + 2 //1,2
                    c, d                      //2,3
                    e, f                      //3,4
            )
     
     
     
    练习代码:
    package main
    
    //打印水的沸点
    
    import "fmt"
    
    const boilingF = 212.0
    
    func main() {
    var f = boilingF
    var c = (f-32)*5/9
    fmt.Printf("水的沸点 = %g°F or %g°C
    ")
    }
    
    func fToC( f float64) float64 {
    return (f-32) * 5/9
    }
    
     
     
     
     
  • 相关阅读:
    Powerdesigner SqlServer转Oracle(转)
    ASP.NET jquery.uploadify上传控件中文乱码解决办法(转)
    网页上显示数学公式目前哪种方案最好? 来自知乎
    sql server 自增长id 允许插入显示值
    (转)【深入浅出jQuery】源码浅析2--奇技淫巧
    (转)js activexobject调用客户机exe文件
    搞笑代码注释,佛祖保佑 永无BUG
    json 递归查找某个节点
    c# string.format json字符串 formatException错误
    验证list的底层数据结构
  • 原文地址:https://www.cnblogs.com/shanghai1918/p/15160961.html
Copyright © 2011-2022 走看看