当前位置: 首页>>代码示例>>Golang>>正文


Golang encoding.TextUnmarshaler类代码示例

本文整理汇总了Golang中encoding.TextUnmarshaler的典型用法代码示例。如果您正苦于以下问题:Golang TextUnmarshaler类的具体用法?Golang TextUnmarshaler怎么用?Golang TextUnmarshaler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了TextUnmarshaler类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: unifyText

func unifyText(data interface{}, v encoding.TextUnmarshaler) error {
	var s string
	switch sdata := data.(type) {
	case encoding.TextMarshaler:
		text, err := sdata.MarshalText()
		if err != nil {
			return err
		}
		s = string(text)
	case fmt.Stringer:
		s = sdata.String()
	case string:
		s = sdata
	case bool:
		s = fmt.Sprintf("%v", sdata)
	case int64:
		s = fmt.Sprintf("%d", sdata)
	case float64:
		s = fmt.Sprintf("%f", sdata)
	default:
		return badtype("primitive (string-like)", data)
	}
	if err := v.UnmarshalText([]byte(s)); err != nil {
		return err
	}
	return nil
}
开发者ID:BREWTAN,项目名称:etcd,代码行数:27,代码来源:decode.go

示例2: RedisParseText

func RedisParseText(res string, obj encoding.TextUnmarshaler, err error) error {
	if err != nil {
		return err
	}
	err = obj.UnmarshalText([]byte(res))
	return err
}
开发者ID:opus-ua,项目名称:beacon-backend,代码行数:7,代码来源:redis.go

示例3: parseVnetParam

func parseVnetParam(p string, m encoding.TextUnmarshaler) (vnet string, err error) {
	vnet, v, err := splitVnetParam(p)
	if err != nil {
		return "", fmt.Errorf("Error parsing container network parameter %s: %s", p, err)
	}

	if err = m.UnmarshalText([]byte(v)); err != nil {
		return "", fmt.Errorf("Error parsing container network parameter %s: %s", p, err)
	}

	return vnet, nil
}
开发者ID:kjplatz,项目名称:vic,代码行数:12,代码来源:create.go

示例4: TestEnumIsTextUnmarshaller

func TestEnumIsTextUnmarshaller(t *testing.T) {
	var tm encoding.TextUnmarshaler = thrifttest.NumberzPtr(thrifttest.Numberz_TWO)
	err := tm.UnmarshalText([]byte("TWO"))
	if err != nil {
		t.Fatalf("Unexpected error from UnmarshalText(TWO): %s", err)
	}
	if *(tm.(*thrifttest.Numberz)) != thrifttest.Numberz_TWO {
		t.Errorf("UnmarshalText(TWO) = %s", tm)
	}

	err = tm.UnmarshalText([]byte("NAN"))
	if err == nil {
		t.Errorf("Error from UnmarshalText(NAN)")
	}
}
开发者ID:ConfusedReality,项目名称:pkg_serialization_thrift,代码行数:15,代码来源:encoding_json_test.go

示例5: unmarshalTextInterface

// unmarshalTextInterface unmarshals a single XML element into val.
// The chardata contained in the element (but not its children)
// is passed to the text unmarshaler.
func (p *Decoder) unmarshalTextInterface(val encoding.TextUnmarshaler, start *StartElement) error {
	var buf []byte
	depth := 1
	for depth > 0 {
		t, err := p.Token()
		if err != nil {
			return err
		}
		switch t := t.(type) {
		case CharData:
			if depth == 1 {
				buf = append(buf, t...)
			}
		case StartElement:
			depth++
		case EndElement:
			depth--
		}
	}
	return val.UnmarshalText(buf)
}
开发者ID:Xiahl1990,项目名称:go,代码行数:24,代码来源:read.go

示例6: unmarshalTextInterface

func (p *Decoder) unmarshalTextInterface(pval *plistValue, unmarshalable encoding.TextUnmarshaler) {
	err := unmarshalable.UnmarshalText([]byte(pval.value.(string)))
	if err != nil {
		panic(err)
	}
}
开发者ID:QuocHuy7a10,项目名称:Arianrhod,代码行数:6,代码来源:unmarshal.go

示例7: DecTextUnmarshal

// FOR USE BY CODECGEN ONLY. IT *WILL* CHANGE WITHOUT NOTICE. *DO NOT USE*
func (f genHelperDecoder) DecTextUnmarshal(tm encoding.TextUnmarshaler) {
	fnerr := tm.UnmarshalText(f.d.d.DecodeBytes(f.d.b[:], true, true))
	if fnerr != nil {
		panic(fnerr)
	}
}
开发者ID:RookieGameDevs,项目名称:surviveler,代码行数:7,代码来源:gen-helper.generated.go


注:本文中的encoding.TextUnmarshaler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。