mirror of
https://github.com/duke-git/lancet.git
synced 2026-02-17 03:02:28 +08:00
562 lines
128 KiB
JavaScript
562 lines
128 KiB
JavaScript
import{_ as l,o as p,c as o,k as s,a,X as n}from"./chunks/framework.6e839c56.js";const k=JSON.parse('{"title":"Structs","description":"","frontmatter":{},"headers":[],"relativePath":"en/api/packages/struct.md","filePath":"en/api/packages/struct.md"}'),e={name:"en/api/packages/struct.md"},t=s("h1",{id:"Structs",tabindex:"-1"},[a("Structs "),s("a",{class:"header-anchor",href:"#Structs","aria-label":'Permalink to "Structs"'},"")],-1),c=s("p",null,"Struct is abstract struct for provide several high level functions",-1),r=s("div",{STYLE:"page-break-after: always;"},null,-1),y=s("h2",{id:"Source-",tabindex:"-1"},[a("Source: "),s("a",{class:"header-anchor",href:"#Source-","aria-label":'Permalink to "Source:"'},"")],-1),F=s("ul",null,[s("li",null,[s("p",null,[s("a",{href:"https://github.com/duke-git/lancet/blob/main/structs/struct.go",target:"_blank",rel:"noreferrer"},"https://github.com/duke-git/lancet/blob/main/structs/struct.go")])]),s("li",null,[s("p",null,[s("a",{href:"https://github.com/duke-git/lancet/blob/main/structs/field.go",target:"_blank",rel:"noreferrer"},"https://github.com/duke-git/lancet/blob/main/structs/field.go")])])],-1),i=s("div",{STYLE:"page-break-after: always;"},null,-1),A=n(`<h2 id="Usage-" tabindex="-1">Usage: <a class="header-anchor" href="#Usage-" aria-label="Permalink to "Usage:""></a></h2><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span></code></pre></div>`,2),u=s("div",{STYLE:"page-break-after: always;"},null,-1),E=n('<h2 id="Index-" tabindex="-1">Index: <a class="header-anchor" href="#Index-" aria-label="Permalink to "Index:""></a></h2><ul><li><a href="#New">New</a></li><li><a href="#ToMap">ToMap</a></li><li><a href="#Fields">Fields</a></li><li><a href="#Field">Field</a></li><li><a href="#IsStruct">IsStruct</a></li><li><a href="#Tag">Tag</a></li><li><a href="#Name">Name</a></li><li><a href="#Value">Value</a></li><li><a href="#Kind">Kind</a></li><li><a href="#IsEmbedded">IsEmbedded</a></li><li><a href="#IsExported">IsExported</a></li><li><a href="#IsZero">IsZero</a></li><li><a href="#IsSlice">IsSlice</a></li></ul>',2),d=s("div",{STYLE:"page-break-after: always;"},null,-1),g=n(`<h2 id="Documentation-" tabindex="-1">Documentation: <a class="header-anchor" href="#Documentation-" aria-label="Permalink to "Documentation:""></a></h2><h3 id="New" tabindex="-1"><span id="New">New</span> <a class="header-anchor" href="#New" aria-label="Permalink to "<span id="New">New</span>""></a></h3><p>The constructor function of the \`Struct\` </p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">New</span><span style="color:#F6F6F4;">(value any, tagName </span><span style="color:#F286C4;">...</span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;">) </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Struct</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">value any</span><span style="color:#999999;">,</span><span style="color:#393A34;"> tagName </span><span style="color:#AB5959;">...</span><span style="color:#AB5959;">string</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Struct</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">People</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">People{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// to do something</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">People</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">People</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// to do something</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="ToMap" tabindex="-1"><span id="ToMap">ToMap</span> <a class="header-anchor" href="#ToMap" aria-label="Permalink to "<span id="ToMap">ToMap</span>""></a></h3><p>convert a valid struct to a map</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (s </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Struct) </span><span style="color:#62E884;">ToMap</span><span style="color:#F6F6F4;">() (</span><span style="color:#F286C4;">map</span><span style="color:#F6F6F4;">[</span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;">]any, </span><span style="color:#97E1F1;font-style:italic;">error</span><span style="color:#F6F6F4;">)</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">s </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Struct</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">ToMap</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#1E754F;">map</span><span style="color:#999999;">[</span><span style="color:#AB5959;">string</span><span style="color:#999999;">]</span><span style="color:#393A34;">any</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">error</span><span style="color:#999999;">)</span></span></code></pre></div><blockquote><p>In addition, provided a convenient static function ToMap</p></blockquote><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">ToMap</span><span style="color:#F6F6F4;">(v any) (</span><span style="color:#F286C4;">map</span><span style="color:#F6F6F4;">[</span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;">]any, </span><span style="color:#97E1F1;font-style:italic;">error</span><span style="color:#F6F6F4;">)</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">ToMap</span><span style="color:#999999;">(</span><span style="color:#393A34;">v any</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#1E754F;">map</span><span style="color:#999999;">[</span><span style="color:#AB5959;">string</span><span style="color:#999999;">]</span><span style="color:#393A34;">any</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">error</span><span style="color:#999999;">)</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">People</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">People{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// use constructor function</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> m1, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s1.</span><span style="color:#97E1F1;">ToMap</span><span style="color:#F6F6F4;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(m1)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// use static function</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> m2, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">ToMap</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(m2)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// map[name:11]</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// map[name:11]</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">People</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">People</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// use constructor function</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">m1</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s1</span><span style="color:#999999;">.</span><span style="color:#998418;">ToMap</span><span style="color:#999999;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">m1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// use static function</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">m2</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">ToMap</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">m2</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// map[name:11]</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// map[name:11]</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Fields" tabindex="-1"><span id="Fields">Fields</span> <a class="header-anchor" href="#Fields" aria-label="Permalink to "<span id="Fields">Fields</span>""></a></h3><p>Get all fields of a given struct, that the fields are abstract struct field</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (s </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Struct) </span><span style="color:#62E884;">Fields</span><span style="color:#F6F6F4;">() []</span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">s </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Struct</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Fields</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">[]</span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">People</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">People{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fields </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Fields</span><span style="color:#F6F6F4;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(</span><span style="color:#97E1F1;">len</span><span style="color:#F6F6F4;">(fields))</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// 1</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">People</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">People</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">fields</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Fields</span><span style="color:#999999;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#998418;">len</span><span style="color:#999999;">(</span><span style="color:#393A34;">fields</span><span style="color:#999999;">))</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// 1</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Field" tabindex="-1"><span id="Field">Field</span> <a class="header-anchor" href="#Field" aria-label="Permalink to "<span id="Field">Field</span>""></a></h3><p>Get an abstract field of a struct by given field name </p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (s </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Struct) </span><span style="color:#62E884;">Field</span><span style="color:#F6F6F4;">(name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;">) </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">s </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Struct</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Field</span><span style="color:#999999;">(</span><span style="color:#393A34;">name </span><span style="color:#AB5959;">string</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">People</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">People{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> f </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(f.</span><span style="color:#97E1F1;">Value</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// 11</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">People</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">People</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">f</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">f</span><span style="color:#999999;">.</span><span style="color:#998418;">Value</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// 11</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="IsStruct" tabindex="-1"><span id="IsStruct">IsStruct</span> <a class="header-anchor" href="#IsStruct" aria-label="Permalink to "<span id="IsStruct">IsStruct</span>""></a></h3><p>Check if the struct is valid</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (s </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Struct) </span><span style="color:#62E884;">IsStruct</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">bool</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">s </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Struct</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">IsStruct</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">bool</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">People</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">People{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(s.</span><span style="color:#97E1F1;">IsStruct</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// true</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">People</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">People</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">s</span><span style="color:#999999;">.</span><span style="color:#998418;">IsStruct</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// true</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Tag" tabindex="-1"><span id="Tag">Tag</span> <a class="header-anchor" href="#Tag" aria-label="Permalink to "<span id="Tag">Tag</span>""></a></h3><p>Get a \`Tag\` of the \`Field\`, \`Tag\` is a abstract struct field tag</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">Tag</span><span style="color:#F6F6F4;">() </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Tag</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Tag</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Tag</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name,omitempty"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">111</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> tag </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> n.</span><span style="color:#97E1F1;">Tag</span><span style="color:#F6F6F4;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(tag.Name)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// name</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name,omitempty"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">111</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">tag</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> n</span><span style="color:#999999;">.</span><span style="color:#998418;">Tag</span><span style="color:#999999;">()</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">tag</span><span style="color:#999999;">.</span><span style="color:#393A34;">Name</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// name</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Value" tabindex="-1"><span id="Value">Value</span> <a class="header-anchor" href="#Value" aria-label="Permalink to "<span id="Value">Value</span>""></a></h3><p>Get the \`Field\` underlying value</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">Value</span><span style="color:#F6F6F4;">() any</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Value</span><span style="color:#999999;">()</span><span style="color:#393A34;"> any</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">\`</span><span style="color:#E7EE98;">json:"name,omitempty"</span><span style="color:#DEE492;">\`</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">111</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">Value</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// 111</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">\`</span><span style="color:#B56959;">json:"name,omitempty"</span><span style="color:#B5695999;">\`</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">111</span><span style="color:#B5695999;">"</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">Value</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// 111</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="IsEmbedded" tabindex="-1"><span id="IsEmbedded">IsEmbedded</span> <a class="header-anchor" href="#IsEmbedded" aria-label="Permalink to "<span id="IsEmbedded">IsEmbedded</span>""></a></h3><p>Check if the field is an embedded field</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">IsEmbedded</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">bool</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">IsEmbedded</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">bool</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Child</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Parent</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Age </span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> c1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Child{}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> c1.Name </span><span style="color:#F286C4;">=</span><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">111</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> c1.Age </span><span style="color:#F286C4;">=</span><span style="color:#F6F6F4;"> </span><span style="color:#BF9EEE;">11</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(c1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Age</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">IsEmbedded</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">IsEmbedded</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// true</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// false</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Child</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Parent</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Age </span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">c1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Child</span><span style="color:#999999;">{}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">c1</span><span style="color:#999999;">.</span><span style="color:#B07D48;">Name</span><span style="color:#393A34;"> </span><span style="color:#999999;">=</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">111</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">c1</span><span style="color:#999999;">.</span><span style="color:#B07D48;">Age</span><span style="color:#393A34;"> </span><span style="color:#999999;">=</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">11</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">c1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Age</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">IsEmbedded</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">IsEmbedded</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// true</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// false</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="IsExported" tabindex="-1"><span id="IsExported">IsExported</span> <a class="header-anchor" href="#IsExported" aria-label="Permalink to "<span id="IsExported">IsExported</span>""></a></h3><p>Check if the field is exported</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">IsExported</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">bool</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">IsExported</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">bool</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> age </span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{Name: </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">11</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">, age: </span><span style="color:#BF9EEE;">11</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">age</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">IsExported</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">IsExported</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// true</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// false</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> age </span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#393A34;">Name</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#B56959;">11</span><span style="color:#B5695999;">"</span><span style="color:#999999;">,</span><span style="color:#393A34;"> age</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">11</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">age</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">IsExported</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">IsExported</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// true</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// false</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="IsZero" tabindex="-1"><span id="IsZero">IsZero</span> <a class="header-anchor" href="#IsZero" aria-label="Permalink to "<span id="IsZero">IsZero</span>""></a></h3><p>Check if the field is zero value</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">IsZero</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">bool</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">IsZero</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">bool</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Age </span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{Age: </span><span style="color:#BF9EEE;">11</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Age</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">IsZero</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">IsZero</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// true</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// false</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Age </span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#393A34;">Age</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">11</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Age</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">IsZero</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">IsZero</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// true</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// false</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Name" tabindex="-1"><span id="Name">Name</span> <a class="header-anchor" href="#Name" aria-label="Permalink to "<span id="Name">Name</span>""></a></h3><p>Get the field name</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">Name</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">string</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Name</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">string</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Age </span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{Age: </span><span style="color:#BF9EEE;">11</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Age</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">Name</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">Name</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Name</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Age</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Age </span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#393A34;">Age</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">11</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Age</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">Name</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">Name</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Name</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Age</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="Kind" tabindex="-1"><span id="Kind">Kind</span> <a class="header-anchor" href="#Kind" aria-label="Permalink to "<span id="Kind">Kind</span>""></a></h3><p>Get the field's kind</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">Kind</span><span style="color:#F6F6F4;">() reflect.Kind</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">Kind</span><span style="color:#999999;">()</span><span style="color:#393A34;"> reflect</span><span style="color:#999999;">.</span><span style="color:#393A34;">Kind</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Age </span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{Age: </span><span style="color:#BF9EEE;">11</span><span style="color:#F6F6F4;">}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> n, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Name</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">Age</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(n.</span><span style="color:#97E1F1;">Kind</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">Kind</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Age </span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#393A34;">Age</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">11</span><span style="color:#999999;">}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">n</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Name</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">Age</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">n</span><span style="color:#999999;">.</span><span style="color:#998418;">Kind</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">Kind</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// int</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div><h3 id="IsSlice" tabindex="-1"><span id="IsSlice">IsSlice</span> <a class="header-anchor" href="#IsSlice" aria-label="Permalink to "<span id="IsSlice">IsSlice</span>""></a></h3><p>Check if the field is a slice</p><p><b>Signature:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> (f </span><span style="color:#F286C4;">*</span><span style="color:#F6F6F4;">Field) </span><span style="color:#62E884;">IsSlice</span><span style="color:#F6F6F4;">() </span><span style="color:#97E1F1;font-style:italic;">bool</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span><span style="color:#393A34;">f </span><span style="color:#AB5959;">*</span><span style="color:#393A34;">Field</span><span style="color:#999999;">)</span><span style="color:#393A34;"> </span><span style="color:#59873A;">IsSlice</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">bool</span></span></code></pre></div><p><b>Example:</b></p><div class="language-go vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">go</span><pre class="shiki dracula-soft vp-code-dark"><code><span class="line"><span style="color:#F286C4;">package</span><span style="color:#F6F6F4;"> main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">import</span><span style="color:#F6F6F4;"> (</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">fmt</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">github.com/duke-git/lancet/v2/structs</span><span style="color:#DEE492;">"</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F286C4;">func</span><span style="color:#F6F6F4;"> </span><span style="color:#62E884;">main</span><span style="color:#F6F6F4;">() {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">type</span><span style="color:#F6F6F4;"> </span><span style="color:#97E1F1;font-style:italic;">Parent</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">struct</span><span style="color:#F6F6F4;"> {</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> Name </span><span style="color:#97E1F1;font-style:italic;">string</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> arr []</span><span style="color:#97E1F1;font-style:italic;">int</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> }</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> p1 </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> </span><span style="color:#F286C4;">&</span><span style="color:#F6F6F4;">Parent{arr: []</span><span style="color:#97E1F1;font-style:italic;">int</span><span style="color:#F6F6F4;">{</span><span style="color:#BF9EEE;">1</span><span style="color:#F6F6F4;">, </span><span style="color:#BF9EEE;">2</span><span style="color:#F6F6F4;">, </span><span style="color:#BF9EEE;">3</span><span style="color:#F6F6F4;">}}</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> s </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> structs.</span><span style="color:#97E1F1;">New</span><span style="color:#F6F6F4;">(p1)</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> a, _ </span><span style="color:#F286C4;">:=</span><span style="color:#F6F6F4;"> s.</span><span style="color:#97E1F1;">Field</span><span style="color:#F6F6F4;">(</span><span style="color:#DEE492;">"</span><span style="color:#E7EE98;">arr</span><span style="color:#DEE492;">"</span><span style="color:#F6F6F4;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> fmt.</span><span style="color:#97E1F1;">Println</span><span style="color:#F6F6F4;">(a.</span><span style="color:#97E1F1;">IsSlice</span><span style="color:#F6F6F4;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// Output:</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;"> </span><span style="color:#7B7F8B;">// true</span></span>
|
||
<span class="line"><span style="color:#F6F6F4;">}</span></span></code></pre><pre class="shiki vitesse-light vp-code-light"><code><span class="line"><span style="color:#1E754F;">package</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">import</span><span style="color:#393A34;"> </span><span style="color:#999999;">(</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">fmt</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B5695999;">"</span><span style="color:#59873A;">github.com/duke-git/lancet/v2/structs</span><span style="color:#B5695999;">"</span></span>
|
||
<span class="line"><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#1E754F;">func</span><span style="color:#393A34;"> </span><span style="color:#59873A;">main</span><span style="color:#999999;">()</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#1E754F;">type</span><span style="color:#393A34;"> </span><span style="color:#2E8F82;">Parent</span><span style="color:#393A34;"> </span><span style="color:#1E754F;">struct</span><span style="color:#393A34;"> </span><span style="color:#999999;">{</span></span>
|
||
<span class="line"><span style="color:#393A34;"> Name </span><span style="color:#AB5959;">string</span></span>
|
||
<span class="line"><span style="color:#393A34;"> arr </span><span style="color:#999999;">[]</span><span style="color:#AB5959;">int</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#999999;">}</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">p1</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> </span><span style="color:#AB5959;">&</span><span style="color:#393A34;">Parent</span><span style="color:#999999;">{</span><span style="color:#393A34;">arr</span><span style="color:#999999;">:</span><span style="color:#393A34;"> </span><span style="color:#999999;">[]</span><span style="color:#AB5959;">int</span><span style="color:#999999;">{</span><span style="color:#2F798A;">1</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">2</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#2F798A;">3</span><span style="color:#999999;">}}</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">s</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> structs</span><span style="color:#999999;">.</span><span style="color:#998418;">New</span><span style="color:#999999;">(</span><span style="color:#393A34;">p1</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#B07D48;">a</span><span style="color:#999999;">,</span><span style="color:#393A34;"> </span><span style="color:#B07D48;">_</span><span style="color:#393A34;"> </span><span style="color:#999999;">:=</span><span style="color:#393A34;"> s</span><span style="color:#999999;">.</span><span style="color:#998418;">Field</span><span style="color:#999999;">(</span><span style="color:#B5695999;">"</span><span style="color:#B56959;">arr</span><span style="color:#B5695999;">"</span><span style="color:#999999;">)</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> fmt</span><span style="color:#999999;">.</span><span style="color:#998418;">Println</span><span style="color:#999999;">(</span><span style="color:#393A34;">a</span><span style="color:#999999;">.</span><span style="color:#998418;">IsSlice</span><span style="color:#999999;">())</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// Output:</span></span>
|
||
<span class="line"><span style="color:#393A34;"> </span><span style="color:#A0ADA0;">// true</span></span>
|
||
<span class="line"><span style="color:#999999;">}</span></span></code></pre></div>`,81),m=[t,c,r,y,F,i,A,u,E,d,g];function B(h,f,q,v,C,b){return p(),o("div",null,m)}const N=l(e,[["render",B]]);export{k as __pageData,N as default};
|