<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 實例化結構體 # 實例化結構體的幾種方式 ## ## 方式一: 定義結構體: ``` <pre class="calibre13">``` <span class="token6">/*匿名結構體*/</span> type Person struct <span class="token1">{</span> Name string Age int <span class="token1">}</span> ``` ``` 實例化: ``` <pre class="calibre13">``` <span class="token2">var</span> p Person <span class="token6">// 結構體實例化時 才會真正的分配內存</span> p<span class="token1">.</span>Name <span class="token">=</span> <span class="token4">"小紅"</span> ``` ``` > 只有結構體實例化時 才能真正分配內存 ### 方式二: ``` <pre class="calibre13">``` <span class="token6">/*通過new關鍵字對結構體實例化 得到結構體地址*/</span> <span class="token2">var</span> p2 <span class="token">=</span> <span class="token2">new</span><span class="token1">(</span>Person<span class="token1">)</span> p2<span class="token1">.</span>Name <span class="token">=</span> <span class="token4">"p2 name"</span> p2<span class="token1">.</span>Age <span class="token">=</span> <span class="token5">20</span> fmt<span class="token1">.</span><span class="token3">Printf</span><span class="token1">(</span><span class="token4">"new實例p2類型 %T\n"</span><span class="token1">,</span> p2<span class="token1">)</span> <span class="token6">// new實例p2類型 *structs.Person</span> fmt<span class="token1">.</span><span class="token3">Printf</span><span class="token1">(</span><span class="token4">"new實例 p2=%#v\n"</span><span class="token1">,</span> p2<span class="token1">)</span> <span class="token6">// new實例 p2=&structs.Person{Name:"p2 name", Age:20}</span> ``` ``` ### 方式三: ``` <pre class="calibre13">``` <span class="token6">/*使用&對結構體進行取地址操作 相當于對結構體類型 進行了一次new實例化操作*/</span> p3 <span class="token1">:</span><span class="token">=</span> <span class="token">&</span>Person<span class="token1">{</span><span class="token1">}</span> p3<span class="token1">.</span>Name <span class="token">=</span> <span class="token4">"p3"</span> fmt<span class="token1">.</span><span class="token3">Printf</span><span class="token1">(</span><span class="token4">"%v"</span><span class="token1">,</span> p3<span class="token1">)</span> ``` ``` ## 批量實例化: make 切片 ``` <pre class="calibre14">``` <span class="token6">/*make實例化*/</span> m <span class="token1">:</span><span class="token">=</span> <span class="token3">make</span><span class="token1">(</span>map<span class="token1">[</span>string<span class="token1">]</span><span class="token">*</span>Person<span class="token1">)</span> pers <span class="token1">:</span><span class="token">=</span> <span class="token1">[</span><span class="token1">]</span>Person<span class="token1">{</span> <span class="token1">{</span>Name<span class="token1">:</span> <span class="token4">"make1"</span><span class="token1">,</span> Age<span class="token1">:</span> <span class="token5">19</span><span class="token1">}</span><span class="token1">,</span> <span class="token1">{</span>Name<span class="token1">:</span> <span class="token4">"make2"</span><span class="token1">,</span> Age<span class="token1">:</span> <span class="token5">19</span><span class="token1">}</span><span class="token1">,</span> <span class="token1">}</span> <span class="token2">for</span> _<span class="token1">,</span> per <span class="token1">:</span><span class="token">=</span> range pers <span class="token1">{</span> m<span class="token1">[</span>per<span class="token1">.</span>Name<span class="token1">]</span> <span class="token">=</span> <span class="token">&</span>per <span class="token1">}</span> <span class="token2">for</span> k<span class="token1">,</span> v <span class="token1">:</span><span class="token">=</span> range m <span class="token1">{</span> fmt<span class="token1">.</span><span class="token3">Println</span><span class="token1">(</span>k<span class="token1">,</span> <span class="token4">"--->"</span><span class="token1">,</span> v<span class="token1">.</span>Name<span class="token1">)</span> <span class="token1">}</span> ``` ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看