Tetapkan nilai int64 kepada penunjuk *int64

WBOY
Lepaskan: 2024-02-10 09:06:22
ke hadapan
586 orang telah melayarinya

将 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,
    }
}
Salin selepas log masuk

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,
        }
    }
Salin selepas log masuk

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

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!