go:变量和常量

一、标识符和关键字

  1、标识符

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

  2、关键字

    关键字是指编程语言中预先定义好的具有特殊含义的标识符。 关键字和保留字都不建议用作变量名

    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

二、变量

  1、变量的类型

    变量的功能是存储数据,不同的变量保存的数据类型不一样。常见变量的数据类型有:整型、浮点型、布尔型等

  2、变量的声明

    Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用。

  3、标准声明

    变量的声明格式:

var 变量名 变量类型/*
var name string
var age int
var isOk bool
*/

  4、批量声明

    每声明一个变量就需要写var关键字会比较繁琐,go语言中还支持批量变量声明

var (
    a string
    b int
    c bool
    d float32
)

  5、变量的初始化

    Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值 例如:整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 布尔型变量默认为false。 切片、函数、指针变量的默认为nil。

    (1)变量初始化格式:

var 变量名 类型 = 表达式
/*
var name string = "kakawith"
var age int = 16
var name, age = "kakawith", 16
*/

    (2)类型推导:

     有时候我们会将变量的类型省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化。

var name = "kakawith"
var age = 18

    (3)短变量声明:

      在函数内部,可以使用更简略的 := 方式声明并初始化变量。

package main

import (
    "fmt"
)
// 全局变量m
var m = 100

func main() {
    n := 10
    m := 200 // 此处声明局部变量m
    fmt.Println(m, n)
}

   (4)匿名变量:

     在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示 

package main

import "fmt"

func foo()(int,string){   return 10,"kakawith"}func main(){   x, _ := foo()   _, y := foo()   fmt.Println("x=", x)   fmt.Println("y=", y)}

  匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

  注意事项:

  1. 函数外的每个语句都必须以关键字开始(var、const、func等)
  2. :=不能使用在函数外。
  3. _多用于占位,表示忽略值。

三、常量

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

const pi = 3.1415
const e = 2.7182

  声明了pie这两个常量之后,在整个程序运行期间它们的值都不能再发生变化了。

  2、多个变量一起声明

const (
    pi = 3.1415
    e = 2.7182
)

  3、const同时声明多个常量时,如果省略了值则表示和上面一行的值相同

const (
    n1 = 100
    n2
    n3
)

四、iota

  0. iota是go语言的常量计数器,只能在常量的表达式中使用。
    iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。
const (
        n1 = iota //0
        n2       //1
        n3      //2
        n4     //3
    )
    1.使用_跳过某些值
const (
        n1 = iota //0
        n2        //1
        _
        n4        //3
    )
  2.iota声明中间插队
const (
        n1 = iota //0
        n2 = 100  //100
        n3 = iota //2
        n4        //3
    )
    const n5 = iota //0
  3.定义数量级
const (
        _  = iota
        KB = 1 << (10 * iota)
        MB = 1 << (10 * iota)
        GB = 1 << (10 * iota)
        TB = 1 << (10 * iota)
        PB = 1 << (10 * iota)
    )
    4.多个iota定义在一行

const (
        a, b = iota + 1, iota + 2 //1,2
        c, d                      //2,3
        e, f                      //3,4
    )

原文地址:https://www.cnblogs.com/kakawith/p/11165552.html

时间: 2024-10-31 03:50:45

go:变量和常量的相关文章

Python学习(2)变量、常量、注释

1.变量 变量的概念 :变量 是 为了存储 程序运算过程中的一些中间 结果,为了方便日后调用 变量的命名规则: 1. 要具有描述性 2. 变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~) 3. 不能以中文为变量名 4. 不能以数字开头 5. 保留字符是不能被使用 x=1 y=2 z=x*y print("x乘y等于:",z) 输出结果: x乘y等于: 2   2.常量 常量的概念:不变的量 pie = 3.141592653.... 在Python里面

【Java学习笔记之三】java中的变量和常量

变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表. 变量 变量代表程序的状态.程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑.     为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名.     由于Java语言是一种强类型

七、变量与常量的简单介绍

七.变量与常量的简单介绍 本文将介绍VB语言中的变量与常量. 基本概念 首先大家要明白变量和常量是很重要的东西,因为他们储存着程序运行中的各种数据.顾名思义,变量就是可以变的量,而常量就是不变的,这个概念和数学上的有点接近. 接下来我简单讲讲这两个重要的东西:计算机程序在不运行的时候,程序文件保存在硬盘上,当用户运行程序之后,系统就会把程序文件装进计算机的内存里面,无论在硬盘中还是内存中,程序数据都是以二进制的形式保存着的.当程序在运行的时候,可以把计算机的内存理解为一个超级大的棋盘,每个格子都

基础快速过 之C语言 二:什么是关键字 标识符 系统保留字 变量和常量[各个语言通用]

0.其实 学了这么久.这些 关键字 标识符 系统保留字 我早已分不清楚 分类. 为此我特意 百度了下 这些传统概念.呵呵. 保留字: auto       break         case       char      const continue   default       do         double     elseenum       extern        float      for        gotoif         int           long

PHP接口中的静态变量、常量与类中静态变量、常量的区别

接口: 1 不能够定义静态变量(常量除外) 2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用 3 不能使用parent::YOUCONST的方式调用接口的常量 类: 1 const 变量可以使用parent::YOUCONST的方式,className::YOUCONST的方式在子类中访问 2 const定义的变量,在子类中可以被覆盖 3 当然在类中可以定义静态成员变量了 示例: <?phpint

Java 变量和常量

变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 在实际的程序中,可以根据数据在程序运行中是否发生改变,来选择应该是使用变量代表还是常量代表. 变量 变量代表程序的状态.程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现程序的功能逻辑.    为了方便的引用变量的值,在程序中需要为变量设定一个名称,这就是变量名.例如在2D游戏程序中,需要代表人物的位置

对变量及常量的总结

在类中声明的变量或常量叫属性,或者叫成员变量,如name.salary.count 在方法中声明的变量叫局部变量,或者临时变量. 属性可以使用四种权限修饰符修饰,局部变量不可以 属性可以使用static修饰,局部变量不可以 属性可以使用final修饰,局部变量也可以 属性的生命周期很长,随着类加载或者创建对象被初始化,直到没有对象引用才回收 局部变量生命周期很短,执行某个方法时临时被初始化,方法结束即被回收. 如果局部变量与属性重名,则遵守就近原则,可以使用this区分 属性可以在整个类中使用,

iOS开发Swift篇—(二)变量和常量

一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 在实现 RC4加密算法时Objective-C的的性能是Python的127倍,Swift的性能是Python的220倍 有持怀疑态度的国外程序员,也对Objective-C和Swift的性能进行了测试 http://www.splasmata.com/?p=2798 (2)说明 目前的性能不是开发者最需要担心的问题 苹果已经全盘掌握了这个

泊学Swift系列之Swift Up and Running——变量和常量

Swift Up and Running——变量和常量 泊学原文 泊学技法视频 当我们学习一门语言的时候,无论是说还是写,也无论是外语或者编程语言,我们都会用自己已经掌握的语言中的元素去理解新语言中对应的部分.学习Swift也一样,作为一种编程语言,它有着和Objective-C,JavaScript或C#等其它编程语言共通的概念和类似的表达方式.如果你或多或少了解过一些编程语言,学习Swift将会是一个非常轻松的过程. Playground Playground是Apple在2014年WWDC

C语言基础学习基本数据类型-变量和常量

变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法是:数据类型名 变量名 ; 比如我们可以这样定义一个整型变量: int a;  //int类型表示整型 若要声明多个变量,可以逐个声明,也可以在数据类型名后面加上多个变量名,中间用逗号分隔: 数据类型名 变量名1, 变量名2, 变量名3; 创建变量的同时可以为其赋值,也就是初始化变量.语法为: 数据