美文网首页
Golang——变量和常量

Golang——变量和常量

作者: Cici冬雪 | 来源:发表于2020-05-10 11:58 被阅读0次

命名规范

1.变量名、常量名、函数名、类型名、语句标号、包名等,以字母(Unicode)或者下划线开头,后面跟任意数量的字母、数字或者下划线,区分大小写。
2.如果一个名字在函数内部定义,那么只在函数内部有效;如果在函数外部定义,在当前包所有的文件中都可以访问。
3.名字首字母大小写决定在包外的可见性,大写字母开头,可以被外部的包访问;包本身的名字一般都是小写字母 。
4.在包一级声明的名字可在整个包对应的每个源文件进行访问,而不仅仅是在其声明语句所在的源文件中访问。

关键字(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

保留字(37个)

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

变量

变量声明

用关键字var,变量的声明必须使用空格隔开
var 变量名 变量类型

//单独声明
var name string
//一次声明多个变量
var test1, test2 string
//批量声明,一般用于声明全局变量
var (
   a string  //默认值是""
   b int      //默认值是0
   c bool   //默认值是false
)

变量声明必须使用;否则未使用话,go语言会报错。

指定变量类型,如果没有初始化,则会有默认值

string   默认值是""
int       默认值是0
bool    默认值是false
还有一些是nil

变量初始化

var (
   a string
   b int
   c bool
)
a = "haha"
b = 100
c = true
//声明变量并且初始化
var x string = "Golang"
var x, y  string = "Golang", "java"
//变量推导(变量根据默认值的类型设定变量类型)
var y = "Golang"
var x, z = 20, 40

注意同一个作用域内,变量不能重复声明,下面的示例是错误的:
var a = "aa"
var a = "bb"

//短变量声明(只能在函数内部使用)
m := 100
m, k := 100, true

:=左侧如果没有声明新的变量,就产生编译错误

var intVal int 

intVal :=1 // 这时候会产生编译错误

intVal,intVal1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句

匿名变量(_

//定义函数
func foo()(string, int){
  return "a", 100
}

_表示占位

a, _ := foo()
fmt.Println(a)

_, b := foo()
fmt.Println(b)

常量

常量用const,其值在编译期间已知且不可改变,在定义时候必须赋值。常量可以是数值类型(整型、浮点型、复数类型)、布尔类型、字符串类型等。

字面常量 literal?

const pi = 3.1415
const e = 2.7182
const (
  a = 100
  b = 200
  c
  d
)
//c和d不赋值的话,默认用前一个值,即都是200

预定义常量有truefalseiota
iota是go语言的常量计算器,只能在常量的表达式使用。
iotaconst关键字出现时将被重置为0,const中每新增一行常量声明将使用iota计数一次(iota可理解为const语句快中的行索引)。
应用于定义枚举。

const (
  n1 = iota   //0
  n2             //1
  n3             //2
  n4             //3
)

使用_跳过某些值

const (
  n1 = iota   //0
  n2             //1
  -            
  n4             //3
)
const (
  n1 = iota   //0
  n2 = 100  //100
  n3 = iota  //2         
  n4            //3
)
const n5 = iota   //0
const (
  a, b = iota  + 1, iota + 2  // iota是0,a是1,不是2
  c, d   //  c, d = iota  + 1, iota + 2  ,iota是1,a是2,不是3
  e, f   //  e, f = iota  + 1, iota + 2  ,iota是2,a是3,不是4
)

Go语言不支持其它语言支持的枚举enum关键字,定义枚举的方式用const,如下:

    const (
        Sunday = iota
        Mondy
        Tuesday
        Wednesday
        Thursday
        Friday
        Saturday
    )

相关文章

  • Golang——变量和常量

    命名规范 1.变量名、常量名、函数名、类型名、语句标号、包名等,以字母(Unicode)或者下划线开头,后面跟任意...

  • Golang:常量和变量

    标识符与关键字 标识符 由数字,字母,下划线组成,只能以字母和下划线开头. 关键字 关键字和保留字不能用作变量名....

  • golang基础之数据类型

    一、概述 在golang中会涉及变量(var声明)、常量(const)、枚举(golang从语法上没有enum的定...

  • golang入门之变量和常量

    一.定义变量 1.定义单个变量 完整模式: 注:方式1不能在函数外赋值, go不支持在函数外赋值与调用操作(在声明...

  • golang变量、常量声明

    变量命名的规则:1、变量名由字母、数组、下划线(_)组成2、变量不能以数字开头3、变量区分大小写4、变量命名要有意...

  • Swift 2.0 学习笔记 1_基础部分

    //: 基础部分 //: 常量和变量 //: 声明常量和变量 // let: 常量 var: 变量 let max...

  • 转战Kotlin-变量

    常量和变量1.常量和变量常量:赋值后不可改变 val变量:赋值后可以改变 var 声明变量

  • Swift-基础(常量,变量)

    常量、变量 声明变量和常量 常量和变量必须在使用前声明。 您使用let关键字声明常量,使用var关键字声明变量。 ...

  • Swift初体验 变量&常量&元组

    一、变量和常量01 变量和常量的定义在swift中变量使用var来修饰,常量使用let来修饰,变量可以修改而常量不...

  • Swift4.2基础学习笔记(一)

    参考资料与链接https://www.cnswift.org 常量和变量 声明常量和变量 类型标注 命名常量和变量...

网友评论

      本文标题:Golang——变量和常量

      本文链接:https://www.haomeiwen.com/subject/ttefnhtx.html