Dilim olan bir yapı üzerinde işlev yapmak istiyorum. Sorunum: Yapı içeriğimi değiştirmem gerektiğinden bir işaretçi argümanı kullanmak istiyorum. Java dünyasında (çok özür dilerim) yanlış geçmeden öylesine belki yoluma geliyorumGit arabirim dilimi ve işaretçi
type CampaignIndexMemory []CampaignIndex
type CampaignIndex struct {
Objects []CampaignIndexObject
}
type CampaignIndexObject struct {
//They don't really care about us
}
func (c *CampaignIndexMemory) setCampaignIndex(object CampaignIndex) {
valueSet := false
for i,_ := range c {
if c[i].Objects[0].ID == object.Objects[0].ID {
c[i] = object
valueSet = false
break
}
}
if valueSet {
c = append(c, object)
}
}
:
İşte benim kodudur.
Bu kod ile derleme yanlıştır ve "Nesneler" özniteliğimde "çözümlenmemiş başvuru" yazıyor.
Sorumu basit: Neler oluyor? Yardımlarınız, zaman ve iyilik :) için
Teşekkür
_ "Bir dilim olan bir yapıda bir işlev oluşturmak istiyorum." _ Ancak, alıcınız bir "struct" değil, bir "* CampaignIndexMemory", yani "CampaignIndex" öğesinin bir dilimine bir işaretçi. – Michael
Sadece türümü yapıya dönüştürdüm ve iyi çalışıyor. Teşekkürler. Bu benim yeni kodum: tür CampaignIndexMemory struct {indexes [] CampaignIndex} Ve tüm c [i] c.indexes [i] ile değiştirmem gerek. –