本文整理汇总了Golang中github.com/Dwarfartisan/goparsec2.State.Trap方法的典型用法代码示例。如果您正苦于以下问题:Golang State.Trap方法的具体用法?Golang State.Trap怎么用?Golang State.Trap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Dwarfartisan/goparsec2.State
的用法示例。
在下文中一共展示了State.Trap方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: StringValue
// StringValue 判断 state 中下一个值是否为 String
func StringValue(st p.State) (interface{}, error) {
return p.Do(func(state p.State) interface{} {
val := p.P(p.One).Exec(state)
if _, ok := val.(string); ok {
return val
}
panic(st.Trap("expect a string but %v", val))
})(st)
}
示例2: FloatParser
// FloatParser 解析浮点数
func FloatParser(st p.State) (interface{}, error) {
return p.Do(func(st p.State) interface{} {
f := p.Try(p.Float).Exec(st)
val, err := strconv.ParseFloat(f.(string), 64)
if err == nil {
return Float(val)
}
panic(st.Trap("%v", err))
})(st)
}