首頁 > 後端開發 > Golang > 將 int64 值設定為 *int64 指針

將 int64 值設定為 *int64 指針

WBOY
發布: 2024-02-10 09:06:22
轉載
611 人瀏覽過

将 int64 值设置为 *int64 指针

php小編西瓜在這裡為大家介紹一個關於將 int64 值設為 int64 指標的問題。在程式設計中,我們經常需要操作指標來修改變數的值。而對於 int64 類型的變量,我們可以透過將其設為 int64 指標來實現對其值的修改。這種操作在某些情況下非常有用,可以幫助我們更靈活地處理資料。接下來,讓我們詳細解析一下這個問題並給出相應的範例程式碼。

問題內容

我需要映射結構來建立 json 結構。 json 中的collector_id 屬性應該可以採用null 值或int 值。 我有以下程式碼:

type purchaseInfo struct {
    CollectorID *int64 `json:"collector_id"`
}

func mapPurchaseInfo(collectorID int64) purchaseInfo {
    var collectorIDToSend *int64
    if collectorID < 0 {
        collectorIDToSend = nil
    } else {
        collectorIDToSend = collectorID
    }

    return purchaseInfo{
        CollectorID: collectorIDToSend,
    }
}
登入後複製

此程式碼無法編譯,無法將collectorid指派給collectoridtosend。 有辦法做到這一點嗎?

謝謝!

解決方法

  • 在mappurchaseinfo函數的宣告中,為了正確地將參數傳入的值指派給collectoridtosend,必須使用&運算子來檢索collectorid的記憶體位址。
  • 建構purchaseinfo回傳變數時,可以直接放入結構體的字段,如範例所示。
type purchaseInfo struct {
        CollectorID *int64 `json:"collector_id"`
    }

    func mapPurchaseInfo(collectorID int64) purchaseInfo {
        var collectorIDToSend *int64
        if collectorID < 0 {
            collectorIDToSend = nil
        } else {
            collectorIDToSend = &collectorID
        }

        return purchaseInfo{
            CollectorID: collectorIDToSend,
        }
    }
登入後複製

以上是將 int64 值設定為 *int64 指針的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板