首頁 > 後端開發 > Golang > 主體

在 Go 中使用映射切片時,如何避免「Assignment to Entry in Nil Map」執行階段錯誤?

Susan Sarandon
發布: 2024-11-06 07:27:02
原創
517 人瀏覽過

How to Avoid

運行時錯誤:「分配給Nil 映射中的條目」

使用地圖切片時,避免創建切片是至關重要的nil 映射,這將導致像您遇到的那樣的運行時錯誤。

要建立映射切片,請按照以下步驟操作:

  1. 製作一個使用make() 函數的地圖切片:

    <code class="go">invs := make([]map[string]string, length)</code>
    登入後複製
  2. 填充切片內的地圖:

    <code class="go">for i := 0; i < length; i++ {
        invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}
    }</code>
    登入後複製

考慮使用複合文字:

考慮使用複合文字:
<code class="go">invs[i] = map[string]string{"Id": inv_ids[i], "Investor": inv_names[i]}</code>
登入後複製

您可以使用複合文字,它組合了所有鍵值,而不是創建nil 映射並為其賦值配對成單個表達式:

使用結構體的替代方法:
<code class="go">type Investor struct {
    Id   int
    Name string
}

invs := make([]Investor, length)

for i := 0; i < length; i++ {
    invs[i] = Investor{Id: i, Name: "John" + strconv.Itoa(i)}
}</code>
登入後複製
另一種更慣用的方法是定義一個結構體來表示投資者並使用結構體切片:

以上是在 Go 中使用映射切片時,如何避免「Assignment to Entry in Nil Map」執行階段錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!