• go语言学习之路 二:变量


    说道变量,首先应该提一提关键字,因为不能把关键字当做变量来声明。

    关键字:

    下面列出GO语言的关键字或保留字:

    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 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数,见下表:

    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 identifier type。需要注意的是,Go 和许多编程语言不同,它在声明变量时将变量的类型放在变量的名称之后。

    示例:

    var a int

    var b bool

    var str string

    或者可以写成这样:

    var (

        a int

        b bool

        str string

    )

    变量声明后会被自动初始化为该类型的零值,这一点和C语言是有差别的。

    在变量的命名规则遵循骆驼命名法,也就是说单个单词小写,每个新的单词的首字母大写,例如:numShips 和 startDate。如果你的全局变量希望能够被外部包所使用,则需要将首个单词的首字母也大写。

    全局变量:一个变量(常量、类型或函数)在程序中都有一定的作用域。如果一个变量在函数体外声明,则是全局变量,可以在整个包甚至外部包(被导出后)使用,不管你声明在哪个源文件里或在哪个源文件里调用该变量。

    局部变量:它们的作用域只在函数体内,参数和返回值变量也是局部变量。函数体结束,该局部变量的生命周期也就结束了。一般情况下,局部变量的作用域可以通过代码块(用大括号括起来的部分)判断。

    声明和赋值:

    声明与赋值(初始化)语句组合起来。

    示例:

    var identifier [type] = value

    var a int = 15

    var b bool = false

    如果你比较懒的话,再声明的同时赋值也可以这样写:

    声明与赋值(初始化)语句也可以组合起来。

    示例:

    var a = 15

    Var b = false

    或者这样:

    Var{

    a = 15

    B =false

    }

    最简洁的一种声明并赋值的写法是这样的:

    a:=1

    因为编译器是可以根据右边的值自动推断出你的变量的类型。变量部分比较简单,就说这么多吧

  • 相关阅读:
    HashMap 和 Hashtable 的区别
    提高利用运行(安装)内存
    MyEclipse、Hbuilder、Idea快捷键
    本地安装MySQL详细教程
    MyEclipse/Eclipse相关设置
    MyEclipse 10导入JDK1.7或1.8
    Oracle视图(和Mysq一样l)
    Oracle事务
    MySql综合知识汇总
    Mysql存储过程
  • 原文地址:https://www.cnblogs.com/chase-wind/p/5599911.html
Copyright © 2020-2023  润新知