博客
关于我
golang 基础
阅读量:602 次
发布时间:2019-03-11

本文共 1089 字,大约阅读时间需要 3 分钟。

Token

在Go语言中,token是构成源程序的基本不可再分割的单元。在编译过程中,编译器首先将源程序分割成不同的token,这一过程被称为词法分析。Go语言的token主要包括标识符、操作符和分隔符、字面常量等。

标识符

Go语言的标识符有明确的构成规则:开头第一个字符必须是字母或下划线,后面可以跟随任意多个字符、数字或下划线,并且区分大小写。此外,还可以包含Unicode字符。标识符分为两类:一类是程序语言设计者预留的标识符,另一类是编程者自定义的标识符。用户自定义的标识符不能与预留标识符冲突。

预声明标识符主要包括关键字、内置数据类型标识符、内置函数、常量值标识符和空白标识符。用户自定义的标识符则用于包名、变量名、常量名、函数名以及自定义类型名等。

关键字共有25个,可以分类如下:

引导程序整体结构:package、import、const、var、func、defer、go、return声明复合数据结构:struct、interface、map、chan控制程序结构:if、else、for、range、break、continue、switch、select、type、case、default、fallthrough、goto

内置数据类型标识符包括:数值:byte、int、int8、int16、int32、int64、uint、uint8、uint16、uint32、uint64、uintptr浮点型:float32、float64复数型:complex64、complex128字符和字符串型:string、rune接口型:error布尔型:bool

内置函数共有15个,包括make、new、len、cap、append、copy、delete、panic、recover、close、complex、real、image、print、println。这些函数具有全局可见性,虽然以小写字母开头,但并不影响其可用性。

常量值标识符包括:true、false、iota、nil空白标识符《》通常用于声明匿名变量。

操作符和分隔符

Go语言中的操作符共有47个,主要分为以下类别:

算术运算符:+、-、、/、%位运算符:&、|、^、&^、>>、<<赋值和赋值复合运算符::=、=、+=、-=、 assigns /=、%=、|=、^=、&^=、>>=、<<=比较运算符:>、>=、<、<=、==、!=

括号类型:()逻辑运算符:&&、||自增自减操作符:++、--其他运算符::、,、;、.、...

需要注意的是自增和自减操作符是语句而不是表达式。

转载地址:http://hkmvz.baihongyu.com/

你可能感兴趣的文章
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>
ORM sqlachemy学习
查看>>
Ormlite数据库
查看>>
orm总结
查看>>
os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
查看>>
os.system 在 Python 中不起作用
查看>>
OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
查看>>