Copie de Golang

Copie de Golang
La méthode de copie dans GO vous permet de copier des éléments d'une tranche spécifiée à une autre tranche. La fonction renverra ensuite le nombre d'éléments copiés.

La syntaxe de fonction est comme indiqué:

func copy (dst, src [] type) int

La fonction prend la destination et la tranche de source comme argument. Comme mentionné, il a renvoyé le nombre d'éléments copiés.

Le nombre d'éléments est déterminé par la longueur minimale de la tranche de source et de destination. Ceci, indépendamment du chevauchement des arguments.

Copier la tranche dans une autre tranche

L'exemple ci-dessous illustre comment copier une tranche dans une autre tranche.

package principal
Importer "FMT"
funcmain ()
Slice_1: = [] int 1, 2, 3, 4, 5
Slice_2: = Make ([] int, 3)
fmt.Println ("avant (Slice_1):", Slice_1)
fmt.Println ("avant (Slice_2):", Slice_2)
// copie
copié_elements: = copy (slice_2, slice_1)
fmt.Println ("After (Slice_1):", Slice_1)
fmt.Println ("After (Slice_2):", Slice_2)
fmt.Println ("Éléments copiés:", copié_elements)

Le code ci-dessus doit renvoyer une sortie comme indiqué:

Avant (Slice_1): [1 2 3 4 5]
Avant (Slice_2): [0 0 0]
Après (Slice_1): [1 2 3 4 5]
Après (Slice_2): [1 2 3]
Éléments copiés: 3

Remarquez le nombre d'éléments copiés est déterminé par la longueur minimale de la tranche de source ou de destination. Dans notre exemple, la longueur minimale est 3 telle que déterminée par Slice_2.

Copier la chaîne en tranche d'octets.

Nous savons à Go, une chaîne est fondamentalement une tranche d'octets. Par conséquent, il devrait être possible de copier une chaîne en tranche d'octets.

Considérez l'exemple ci-dessous:

packagemain
Importer "FMT"
funcmain ()
str: = "bonjour"
byte_slice: = make ([] octet, 10)
copié_elements: = copy (byte_slice, str)
fmt.Println ("Éléments copiés:", copié_elements)
fmt.Println ("str:", str)
fmt.Println ("Byte Slice:", byte_slice)

Ce qui précède doit copier la chaîne dans la tranche d'octets. La sortie résultante est comme:

Éléments copiés: 5
Str: Bonjour
Tranche d'octets: [104 101 108 108 111 0 0 0 0 0]

Conclusion

Dans cet article, nous avons appris à utiliser la fonction de copie. Cela nous permet de copier des éléments d'une tranche source à une destination spécifiée. Nous pouvons également copier une chaîne sur une tranche d'octets comme indiqué dans les exemples.

Merci d'avoir lu!