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


Golang Lexer.Interface方法代码示例

本文整理汇总了Golang中github.com/mailru/easyjson/jlexer.Lexer.Interface方法的典型用法代码示例。如果您正苦于以下问题:Golang Lexer.Interface方法的具体用法?Golang Lexer.Interface怎么用?Golang Lexer.Interface使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/mailru/easyjson/jlexer.Lexer的用法示例。


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

示例1: easyjson_decode_github_com_buger_jsonparser_benchmark_MediumPayload

func easyjson_decode_github_com_buger_jsonparser_benchmark_MediumPayload(in *jlexer.Lexer, out *MediumPayload) {
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "person":
			if in.IsNull() {
				in.Skip()
				out.Person = nil
			} else {
				out.Person = new(CBPerson)
				(*out.Person).UnmarshalEasyJSON(in)
			}
		case "company":
			in.Delim('{')
			if !in.IsDelim('}') {
				out.Company = make(map[string]interface{})
			} else {
				out.Company = nil
			}
			for !in.IsDelim('}') {
				key := in.String()
				in.WantColon()
				var v7 interface{}
				v7 = in.Interface()
				(out.Company)[key] = v7
				in.WantComma()
			}
			in.Delim('}')
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
}
开发者ID:qband,项目名称:down,代码行数:42,代码来源:benchmark_easyjson.go

示例2: easyjson7f5ba663DecodeGithubComSergeiSvistunovGorpcDebug

func easyjson7f5ba663DecodeGithubComSergeiSvistunovGorpcDebug(in *jlexer.Lexer, out *debug.Debug) {
	if in.IsNull() {
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "modules":
			if in.IsNull() {
				in.Skip()
			} else {
				in.Delim('{')
				if !in.IsDelim('}') {
					out.Modules = make(map[string]interface{})
				} else {
					out.Modules = nil
				}
				for !in.IsDelim('}') {
					key := string(in.String())
					in.WantColon()
					var v1 interface{}
					v1 = in.Interface()
					(out.Modules)[key] = v1
					in.WantComma()
				}
				in.Delim('}')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
}
开发者ID:sergei-svistunov,项目名称:gorpc,代码行数:42,代码来源:http_json_easyjson.go

示例3: easyjson7f5ba663DecodeGithubComSergeiSvistunovGorpcTransportHttpJson

func easyjson7f5ba663DecodeGithubComSergeiSvistunovGorpcTransportHttpJson(in *jlexer.Lexer, out *httpSessionResponse) {
	if in.IsNull() {
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "result":
			out.Result = string(in.String())
		case "data":
			out.Data = in.Interface()
		case "error":
			out.Error = string(in.String())
		case "debug":
			if in.IsNull() {
				in.Skip()
				out.Debug = nil
			} else {
				if out.Debug == nil {
					out.Debug = new(debug.Debug)
				}
				easyjson7f5ba663DecodeGithubComSergeiSvistunovGorpcDebug(in, &*out.Debug)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
}
开发者ID:sergei-svistunov,项目名称:gorpc,代码行数:38,代码来源:http_json_easyjson.go


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