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

WhoCan · · 387 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

介绍

  • 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
```

# 运算符合标点符号

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

```
+    &     +=    &=     &&    ==    !=    (    )
-    |     -=    |=     ||    <     <=    [    ]
*    ^     *=    ^=     <-    >     >=    {    }
/    <<    /=    <<=    ++    =     :=    ,    ;
%    >>    %=    >>=    --    !     ...   .    :
     &^          &^=
```

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:WhoCan

查看原文:【Go从学会到学废】(四) Golang初览

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

387 次点击  
加入收藏 微博
上一篇:暂离
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传