可以使用TypeScript的interface关键字来定义接口,具体代码如下所示:
export interface IDoom3Token {
reset ( ) : void ;
isString ( str : string ) : boolean ;
readonly type : ETokenType ;
getString ( ) : string ;
getFloat ( ) : number ;
getInt ( ) : number ;
}
关于IDoom3Token接口中大部分方法的应用,在上一节的代码中有演示,还是比较简单的。这里看一下type这个只读属性,该属性使用了readonly声明,意味着其值只能被读取,不能被更改。同时type的数据类型为ETokenType,是一个枚举类型。在TypeScript中,我们可以使用enum关键字来定义枚举类型,具体代码如下所示:
export enum ETokenType {
NONE , // 0 default情况下,enum定义的枚举值是以0开始的数字类型
STRING , // 1 表示字符串类型
NUMBER // 2 表示数字类型
}
最后看一下IDoom3Tokenizer的接口定义,代码如下所示:
export interface IDoom3Tokenizer {
setSource ( source : string ) : void ; //设置要解析的字符串
reset ( ) : void ; // 重置当前索引为0
getNextToken ( token : IDoom3Token ) : boolean ; // 获取下一个token
}