Je vais prendre un exemple dans la base de code sur laquelle je travaille :
funccontainsReferencedBy(haystack[]couchdb.DocReference,needlecouchdb.DocReference)bool{for_,ref:=rangehaystack{ifref.ID==needle.ID&&ref.Type==needle.Type{returntrue}}returnfalse}// RemoveReferencedBy removes one or several referenced_by to the filefunc(f*FileDoc)RemoveReferencedBy(ri...couchdb.DocReference){// https://github.com/golang/go/wiki/SliceTricks#filtering-without-allocatingreferenced:=f.ReferencedBy[:0]for_,ref:=rangef.ReferencedBy{if!containsReferencedBy(ri,ref){referenced=append(referenced,ref)}}f.ReferencedBy=referenced}
On a une structure FileDoc, dont un des champs contient une liste de ReferencedBy, et on veut retirer de cette liste un ou plusieurs éléments.
[^] # Re: Go est lent, Rust est rouillé !
Posté par Bruno Michel (site web personnel) . En réponse au journal Explorer des langages de programmation - édition 2020. Évalué à 3.
Je vais prendre un exemple dans la base de code sur laquelle je travaille :
On a une structure FileDoc, dont un des champs contient une liste de ReferencedBy, et on veut retirer de cette liste un ou plusieurs éléments.
La même chose en Ruby, ça donne :