【Go从学会到学废】(四) Golang初览

介绍

  • Go是一种基于系统编程设计的通用语言。
  • 它是强类型和垃圾收集的,并显式支持并发编程。
  • 程序是由包构造的,包的属性允许有效地管理依赖关系。
  • 该语法紧凑且易于解析,允许通过集成开发环境等自动工具进行简单的分析。

符号

Production  = production_name "=" [ Expression ] "." .
Expression  = Alternative { "|" Alternative } .
Alternative = Term { Term } .
Term        = production_name | token [ "…" token ] | Group | Option | Repetition .
Group       = "(" Expression ")" .
Option      = "[" Expression "]" .
Repetition  = "{" Expression "}" .

结果是由术语和下列运算符组成的表达式,优先级递增:

|   alternation
()  grouping
[]  option (0 or 1 times)
{}  repetition (0 to n times)

源代码表示

源代码是用UTF-8编码的Unicode文本。文本没有被规范化,因此一个重音编码点有别于由重音和字母组合而成的相同字符;它们被视为两个代码点。为简单起见,本文档将使用非限定术语字符来引用源文本中的Unicode代码点。每个代码点是不同的;例如,大写字母和小写字母是不同的字符

实现限制:

  • 为了与其他工具兼容,编译器可能不允许源文本中的NUL字符(U+0000)。
  • 为了与其他工具兼容,如果utf -8编码的字节顺序标记(U+FEFF)是源文本中的第一个Unicode编码点,编译器可能会忽略它。在源文件的其他任何地方都可能不允许使用字节顺序标记。

注释

注释用作程序文档。有两种形式:

  1. 行注释从字符序列 // 开始,止于行尾。

  2. 一般注释从字符序列 /* 开始,到第一个后续字符序列 */ 结束。

注释不能在符文或字符串文字中开始,也不能在注释中开始。不包含新行的一般注释就像一个空格。任何其他注释都类似于换行符。

标记

标记构成了Go语言的词汇表。

有四个类:

  • 标识符
  • 关键字
  • 操作符
  • 标点符号
  1. 以及文本。由空格(U+0020)、水平制表符(U+0009)、回车符(U+000D)和换行符(U+000A)组成的空白将被忽略。
  2. 除非它将标记分隔开,否则这些标记将合并为单个标记。
  3. 换行符或文件结束符可能会触发分号的插入。在将输入分解为记号时,下一个记号是形成有效记号的最长字符序列。

分号

许多语言在结尾中使用分号 ; 作为终止符,例如 C/C++,java…。 Go程序可以使用以下两个规则省略大部分分号:

  1. 当输入被分解为标记时,分号会自动插入到标记流中,紧跟在一行的最后一个标记之后(如果该标记是)

    • 一个标识符

    • 一种整数、浮点数、虚数、符文或字符串文字

    • 一个关键字 break, continue, fallthrough, or return

    • 一个操作符和标点符号 ++, --, ), ], or }

  2. 为了允许复杂语句占据一行,可以在结尾的")""}"前面省略分号。

    *意思是行尾不要分号

    标识符

    标识符命名程序实体,如变量和类型。标识符是一个或多个字母和数字的序列。标识符中的第一个字符必须是字母。

    关键字

    以下关键字是保留的,不能用作标识符。

    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
    

    运算符合标点符号

    下列字符序列表示操作符(包括赋值操作符)和标点符号:

    +    &     +=    &=     &&    ==    !=    (    )
    -    |     -=    |=     ||    <     <=    [    ]
    *    ^     *=    ^=     <-    >     >=    {    }
    /    <<    /=    <<=    ++    =     :=    ,    ;
    %    >>    %=    >>=    --    !     ...   .    :
         &^          &^=
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值