Maison > Article > développement back-end > Pour le découpage Go, quelle est la différence entre une tranche et un retranchage complet d'une tranche ?
éditeur php Xinyi Dans le langage Go, le découpage est un tableau dynamique qui peut être étendu dynamiquement selon les besoins. La différence entre un retranchage complet d'une tranche et une tranche est qu'un retranchage complet crée une nouvelle tranche qui peut avoir une capacité et une longueur différentes de celles de la tranche d'origine. L'opération d'affectation entre les tranches copie uniquement la référence de la tranche d'origine vers la nouvelle tranche. La nouvelle tranche partage la structure de stockage du tableau sous-jacent avec la tranche d'origine. Ainsi, lorsque des modifications sont apportées à la nouvelle tranche, la tranche d'origine sera également affectée. Il s’agit d’une différence importante entre le tranchage et le retranchage complet d’une tranche.
Y a-t-il une différence entre les tranches et les tranches complètes ?
Étant donné une part s:= make([]byte, 4, 4)
,
copy(s[:], "data")
和 copy(s, "data")
Y a-t-il une différence ?
Ces deux lignes de code produiront-elles des résultats différents ?
Les tranches dans Go ont 3 propriétés :
s
和 s[:]
Identique dans tous les biens mentionnés ci-dessus.
Go ne définit pas réellement d'opération ==
pour les tranches, mais ==
操作,但是 s
和 s[:]
sont égales dans le sens où toutes les propriétés mesurables sont les mêmes.
copy
函数仅关注前 2 个属性,这两个属性在 s
之间是相同的和 s[:]
.
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!