本文整理匯總了Golang中github.com/karlseguin/gerb/core.Parser.ReadToken方法的典型用法代碼示例。如果您正苦於以下問題:Golang Parser.ReadToken方法的具體用法?Golang Parser.ReadToken怎麽用?Golang Parser.ReadToken使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/karlseguin/gerb/core.Parser
的用法示例。
在下文中一共展示了Parser.ReadToken方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: createCodeTag
func createCodeTag(p *core.Parser) (*core.Codes, error) {
codes := make([]core.Code, 0, 1)
for {
token, err := p.ReadToken()
if err != nil {
return nil, err
}
length := len(token)
if length == 0 {
if err := p.ReadCloseTag(); err != nil {
return nil, err
}
return nil, nil
}
var code core.Code
if token == "}" {
if p.SkipSpaces() == 'e' && p.ConsumeIf(elseBytes) {
code, err = ElseFactory(p)
} else {
code = endScope
}
} else if factory, ok := CodeFactories[token]; ok {
code, err = factory(p)
} else {
p.Backwards(length)
code, err = p.ReadAssignment()
}
if err != nil {
return nil, err
}
codes = append(codes, code)
if p.SkipSpaces() == '%' {
if p.ConsumeIf(trimCloseBytes) {
return &core.Codes{true, codes}, nil
}
if p.ConsumeIf(closeBytes) {
return &core.Codes{false, codes}, nil
}
}
}
}