本文整理汇总了Golang中github.com/karlseguin/gerb/core.Parser.ReadValue方法的典型用法代码示例。如果您正苦于以下问题:Golang Parser.ReadValue方法的具体用法?Golang Parser.ReadValue怎么用?Golang Parser.ReadValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/karlseguin/gerb/core.Parser
的用法示例。
在下文中一共展示了Parser.ReadValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: createOutputTag
func createOutputTag(p *core.Parser, isUnsafe bool) (core.Executable, error) {
value, err := p.ReadValue()
if err != nil {
return nil, err
}
if err = p.ReadCloseTag(); err != nil {
return nil, err
}
return &OutputTag{value, !isUnsafe}, nil
}
示例2: ContentFactory
func ContentFactory(p *core.Parser) (core.Code, error) {
value, err := p.ReadValue()
if err != nil {
return nil, err
}
if p.SkipSpaces() != '{' {
return nil, p.Error("Missing openening brace for content statement")
}
p.Next()
return &ContentCode{new(core.NormalContainer), value}, nil
}
示例3: RangedForFactory
func RangedForFactory(p *core.Parser) (core.Code, error) {
code := &RangedForCode{NormalContainer: new(core.NormalContainer)}
tokens, err := p.ReadTokenList()
if err != nil {
return nil, err
}
if len(tokens) != 2 {
return nil, p.Error("Invalid for loop, ranged loop should have two variables")
}
code.tokens = tokens
c := p.SkipSpaces()
if c == ':' {
c = p.Next()
}
if c != '=' {
return nil, p.Error("Invalid for loop, ranged loop expecting assignment operator")
}
p.Next()
if p.SkipSpaces() != 'r' || p.ConsumeIf([]byte("range")) == false {
return nil, p.Error("invalid for loop, expected 'range' keyword")
}
value, err := p.ReadValue()
if err != nil {
return nil, err
}
code.value = value
if p.SkipSpaces() != '{' {
return nil, p.Error("Missing openening brace for if statement")
}
p.Next()
return code, nil
}