Rumah >pembangunan bahagian belakang >Golang >Tetapkan nilai int64 kepada penunjuk *int64

Tetapkan nilai int64 kepada penunjuk *int64

WBOY
WBOYke hadapan
2024-02-10 09:06:22606semak imbas

将 int64 值设置为 *int64 指针

editor php Xigua di sini untuk memperkenalkan kepada anda masalah tentang menetapkan nilai int64 kepada penuding int64. Dalam pengaturcaraan, kita sering perlu memanipulasi penunjuk untuk mengubah suai nilai pembolehubah. Untuk pembolehubah jenis int64, kita boleh mengubah suai nilainya dengan menetapkannya kepada penunjuk int64. Operasi ini sangat berguna dalam situasi tertentu dan boleh membantu kami memproses data dengan lebih fleksibel. Seterusnya, mari kita menganalisis masalah ini secara terperinci dan memberikan kod sampel yang sepadan.

Kandungan soalan

Saya memerlukan struktur pemetaan untuk mencipta struktur json. Atribut collector_id dalam json sepatutnya boleh mengambil nilai null atau nilai int. Saya mempunyai kod berikut:

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,
    }
}

Kod ini tidak menyusun dan tidak boleh menetapkan collectorid kepada collectoridtosend. Adakah terdapat cara untuk melakukan ini?

Terima kasih!

Penyelesaian

  • Dalam pengisytiharan fungsi mappurchaseinfo, untuk menetapkan nilai yang dihantar dengan betul sebagai parameter untuk collectoridtosend, operator & mesti digunakan untuk mendapatkan semula alamat memori collectorid.
  • Apabila membina pembolehubah pulangan info pembelian, anda boleh terus memasukkannya ke dalam medan struktur, seperti yang ditunjukkan dalam contoh.
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,
        }
    }

Atas ialah kandungan terperinci Tetapkan nilai int64 kepada penunjuk *int64. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam