Maison >développement back-end >Golang >Définir une valeur int64 sur un pointeur *int64
L'éditeur PHP Xigua est là pour vous présenter un problème concernant la définition d'une valeur int64 sur un pointeur int64. En programmation, nous avons souvent besoin de manipuler des pointeurs pour modifier la valeur des variables. Pour les variables de type int64, on peut modifier leurs valeurs en les définissant sur des pointeurs int64. Cette opération est très utile dans certaines situations et peut nous aider à traiter les données de manière plus flexible. Ensuite, analysons ce problème en détail et donnons un exemple de code correspondant.
J'ai besoin d'une structure de mappage pour créer une structure json. L'attribut collector_id dans json devrait pouvoir prendre une valeur nulle ou une valeur int. J'ai le code suivant :
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, } }
Ce code ne compile pas et ne peut pas attribuer collectorid à collectoridtosend. Y a-t-il un moyen de faire cela?
Merci !
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, } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!