當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。