教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go打印结构体的field

Go打印结构体的field

发布时间:2022-01-02   编辑:jiaochengji.com
教程集为您提供Go打印结构体的field等资源,欢迎您收藏本站,我们将为您提供最新的Go打印结构体的field资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

截取自我的博客: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 语言中的取止运算符"&amp;"貌似有bug
go-面向对象编程(上)
go struct结构体转换为slice切片
defer函数参数求值简要分析
Go语言--反射(reflect)
Go语言基础、实战 -- 8. 结构体

[关闭]
~ ~