Go打印结构体的field
截取自我的博客:https://chunlife.top/
Go可以很方便的打印出结构体的<code>field</code>,不同于<code>json.Marshal()</code>操作,<code>json</code>操作有很多局限性,首先其要求结构体字段为大写字段,否则没有访问权限,其二,其会多出一步函数调用,比较麻烦。
这里又很方便既可以将结构体<code>field</code>打印出来的方法,不用区分大小写。
printf的关键字:<code>% v</code>,其中v不加<code> </code>也是有所区别的。
<pre><code class="lang-go hljs"><span class="token keyword">type</span> info <span class="token keyword">struct</span> <span class="token punctuation">{</span> Key <span class="token builtin">string</span> Value <span class="token builtin">string</span> <span class="token punctuation">}</span> <span class="token keyword">func</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> v <span class="token operator">:=</span> info<span class="token punctuation">{</span><span class="token string">"键值"</span><span class="token punctuation">,</span> <span class="token string">"数据"</span><span class="token punctuation">}</span> bytes<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> json<span class="token punctuation">.</span><span class="token function">Marshal</span><span class="token punctuation">(</span>v<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"%v\n"</span><span class="token punctuation">,</span> v<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Printf</span><span class="token punctuation">(</span><span class="token string">"% v\n"</span><span class="token punctuation">,</span> v<span class="token punctuation">)</span> fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span><span class="token function">string</span><span class="token punctuation">(</span>bytes<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">}</span> <span class="token comment">// output</span> <span class="token comment">// {键值 数据}</span> <span class="token comment">// {Key:键值 Value:数据}</span> <span class="token comment">// {"Key":"键值","Value":"数据"}</span> </code></pre> 到此这篇关于“Go打印结构体的field”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!您可能感兴趣的文章:
Go打印结构体的field
Golang结构体中Tag的使用
golang json[]
golang 结构体标签_如何在Go中使用结构标签
Go 语言中的取止运算符"&"貌似有bug
go-面向对象编程(上)
go struct结构体转换为slice切片
defer函数参数求值简要分析
Go语言--反射(reflect)
Go语言基础、实战 -- 8. 结构体