本文整理汇总了Golang中github.com/intelsdi-x/snap/core/ctypes.ConfigValue.Type方法的典型用法代码示例。如果您正苦于以下问题:Golang ConfigValue.Type方法的具体用法?Golang ConfigValue.Type怎么用?Golang ConfigValue.Type使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/intelsdi-x/snap/core/ctypes.ConfigValue
的用法示例。
在下文中一共展示了ConfigValue.Type方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Validate
// Validate validates a config value against this rule.
func (b *BoolRule) Validate(cv ctypes.ConfigValue) error {
// Check that type is correct
if cv.Type() != "bool" {
return wrongType(b.key, cv.Type(), "bool")
}
return nil
}
示例2: getConfigItemValue
// getConfigItemValue returns value of configuration item
func getConfigItemValue(item ctypes.ConfigValue) (interface{}, error) {
var value interface{}
switch item.Type() {
case "string":
value = item.(ctypes.ConfigValueStr).Value
break
case "float":
value = item.(ctypes.ConfigValueFloat).Value
break
case "integer":
value = item.(ctypes.ConfigValueInt).Value
break
case "bool":
value = item.(ctypes.ConfigValueBool).Value
break
default:
return nil, fmt.Errorf("Unsupported type of configuration item, type=%v", item.Type())
}
return value, nil
}
示例3: Validate
// Validates a config value against this rule.
func (s *StringRule) Validate(cv ctypes.ConfigValue) error {
// Check that type is correct
if cv.Type() != "string" {
return wrongType(s.key, cv.Type(), "string")
}
return nil
}
示例4: Validate
// Validate Validates a config value against this rule.
func (f *FloatRule) Validate(cv ctypes.ConfigValue) error {
// Check that type is correct
if cv.Type() != FloatType {
return wrongType(f.key, cv.Type(), FloatType)
}
// Check minimum. Type should be safe now because of the check above.
if f.minimum != nil && cv.(ctypes.ConfigValueFloat).Value < *f.minimum {
return errors.New(fmt.Sprintf("value is under minimum (%s value %f < %f)", f.key, cv.(ctypes.ConfigValueFloat).Value, *f.minimum))
}
// Check maximum. Type should be safe now because of the check above.
if f.maximum != nil && cv.(ctypes.ConfigValueFloat).Value > *f.maximum {
return errors.New(fmt.Sprintf("value is over maximum (%s value %f > %f)", f.key, cv.(ctypes.ConfigValueFloat).Value, *f.maximum))
}
return nil
}
示例5: Validate
// Validate Validates a config value against this rule.
func (i *IntRule) Validate(cv ctypes.ConfigValue) error {
// Check that type is correct
// when unmarshalling JSON numbers are converted to floats which is the reason
// we are checking for integer below.
// http://golang.org/pkg/encoding/json/#Marshal
if cv.Type() != "integer" && cv.Type() != "float" {
return wrongType(i.key, cv.Type(), "integer")
}
// Check minimum. Type should be safe now because of the check above.
if i.minimum != nil && cv.(ctypes.ConfigValueInt).Value < *i.minimum {
return errors.New(fmt.Sprintf("value is under minimum (%s value %d < %d)", i.key, cv.(ctypes.ConfigValueInt).Value, *i.minimum))
}
// Check maximum. Type should be safe now because of the check above.
if i.maximum != nil && cv.(ctypes.ConfigValueInt).Value > *i.maximum {
return errors.New(fmt.Sprintf("value is over maximum (%s value %d > %d)", i.key, cv.(ctypes.ConfigValueInt).Value, *i.maximum))
}
return nil
}