本文整理汇总了Golang中github.com/babelrpc/babel/idl.Type.Name方法的典型用法代码示例。如果您正苦于以下问题:Golang Type.Name方法的具体用法?Golang Type.Name怎么用?Golang Type.Name使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/babelrpc/babel/idl.Type
的用法示例。
在下文中一共展示了Type.Name方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ParseType
// ParseType processes a type string and returns the IDL type for it
func ParseType(s string) (*idl.Type, error) {
var err error
var t idl.Type
var m []string
if m = mapRE.FindStringSubmatch(s); m != nil {
i := findSplit(m[1])
if i < 0 {
return nil, errors.New("Unable to break key/value: " + s)
}
t.Name = "map"
t.KeyType, err = ParseType(m[1][:i])
if err != nil {
return nil, err
}
if !t.KeyType.IsPrimitive() {
return nil, errors.New("Key type must be a primitive type: " + s)
}
t.ValueType, err = ParseType(m[1][i+1:])
if err != nil {
return nil, err
}
} else if m = listRE.FindStringSubmatch(s); m != nil {
t.Name = "list"
t.ValueType, err = ParseType(m[1])
if err != nil {
return nil, err
}
} else if m = basicRE.FindStringSubmatch(s); m != nil {
t.Name = m[1]
} else {
return nil, errors.New("Uanble to parse type: " + s)
}
return &t, nil
}