Go语言-变量和常量

go语言文件基本结构

// 导入语句
import "fmt"

// 函数外只能放置标识符(变量\常量\函数\类型)的声明

func main() {
    fmt.Println("hell world")
}

标识符和关键字

1.标识符

在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。
Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。

2.关键字

2.1  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

2.2 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

 变量

1.变量的来历

在程序运行的过程中数据都是存储在内存中,当想要在代码中操作某个数据的时候就需要到内存中找到这个变量,
如果直接在代码中通过内存地址去操作变量的画,代码的可读性会非常差,所以就利用变量将这个数据的内存地址保存下来,然后直接通过这个变量找到内存上相应的数据。

2.标量类型

常见变量的数据类型有:
整型
浮点型
布尔型

#变量必须经过声明才可以使用

3.变量声明

#变量需要声明才可以使用
#同一作用域内不支持重复声明
#Go 语言变量申明后必须使用

 

package main

import "fmt"

//声明变量
// var name string // ""
// var age int  // 0
// var isok bool //false

//批量声明
var (
    name string
    age  int
    isok bool
)

func main() {
    name = "张三"
    age = 18
    isok = true
    // go语言变量声明必须要使用,不使用就编译不过去
    fmt.Printf("name:%s\n", name) //%s:占位符,使用name这个变量的值取替换占位符 \n换行
    fmt.Println(age)              //打印玩指定内容后后面增加一个换行符
    fmt.Print(isok)               //在终端中输出要打印的内容,没有换行符号
    //声明变量同时赋值
    var s1 string = "web"
    fmt.Println(s1)
    //类型推导 根据值判断变量是什么类型
    var s2 = "20"
    fmt.Println(s2)

    // 简短变量声明,只能在函数里面用局部
    s3 := "123"
    fmt.Println(s3)
    // s3 := "222"  同一个作用域不能重复声明同名的变量
}

//注意点:
//1.简短声明 =: 不能在函数外使用
//2._用于占位符,表示忽略值
//3.函数外每个语句都必须以关键字开始(var,const,func)

常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。
package main

import (
    "fmt"
)

//常量
//定义常量之后不可修改
//在程序运行期间不会改变的量
const pi = 3.1415926

//批量声明常量
const (
 statusok = 200
 notFound = 404
)
//如果批量声明常量时,如果某一行声明后没有赋值,默认和上一行一致
const(
 n1 = 100
 n2
 n3
)
//iota是go语言的常量计数器,只能在常量的表达式中使用。在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次
const(
    a1 = iota //0
    a2 
    a3
)

const(
    b1 = iota //0
    b2 = iota //1
    _ = iota //2 丢弃_表示没有
    b3 = iota //3
)
//插队
const(
    c1 = iota //0
    c2 = 100 //1
    c3 = iota //2 
    c4 = iota //3
)

//多个常量申明在一行
const(
  d1,d2 = iota + 1, iota +2 //da:1 da2
  d3,d4 = iota + 1, iota +2 //da:2 da3

)
//定义数量级
const (
    _  = iota
    KB = 1 << (10 * iota)
    MB = 1 << (10 * iota)
    GB = 1 << (10 * iota)
    TB = 1 << (10 * iota)
    PB = 1 << (10 * iota)
)

 

posted @ 2020-05-16 22:10  OnePieceNO1  阅读(192)  评论(0)    收藏  举报