Golang Copy

Golang Copy
Kopi -metoden i Go lar deg kopiere elementer fra en spesifisert skive til en annen skive. Funksjonen vil deretter returnere antall elementer som er kopiert.

Funksjonssyntaksen er som vist:

func copy (dst, src [] type) int

Funksjonen tar destinasjonen og kildeskiven som argument. Som nevnt returnerte det antall elementer som er kopiert.

Antall elementer bestemmes av minimumslengden på kilden og destinasjonsskiven. Dette er uavhengig av argumentoverlapping.

Kopier skive i en annen skive

Eksemplet nedenfor illustrerer hvordan du kopierer en skive i en annen skive.

pakkehoved
Importer "FMT"
FUNCMAIN ()
Slice_1: = [] int 1, 2, 3, 4, 5
Slice_2: = Make ([] int, 3)
fmt.Println ("før (skive_1):", skive_1)
fmt.Println ("før (skive_2):", skive_2)
// kopi
Copied_elements: = Kopi (Slice_2, SITE_1)
fmt.Println ("etter (skive_1):", skive_1)
fmt.Println ("etter (skive_2):", skive_2)
fmt.Println ("Elements Copied:", Copied_elements)

Ovennevnte kode skal returnere en utdata som vist:

Før (SITE_1): [1 2 3 4 5]
Før (skive_2): [0 0 0]
Etter (skive_1): [1 2 3 4 5]
Etter (skive_2): [1 2 3]
Elementer kopiert: 3

Legg merke til antallet elementer som er kopiert bestemmes av minimumslengden på kilden eller destinasjonsskiven. I vårt eksempel er minimumslengden 3 som bestemt av skive_2.

Kopier streng i byte -skive.

Vi vet i Go, en streng er i utgangspunktet en skive av byte. Derfor bør det være mulig å kopiere en streng i en byte -skive.

Tenk på eksemplet nedenfor:

Packagemain
Importer "FMT"
FUNCMAIN ()
Str: = "Hei"
byte_slice: = make ([] byte, 10)
Copied_elements: = Kopi (byte_slice, str)
fmt.Println ("Elements Copied:", Copied_elements)
fmt.Println ("str:", str)
fmt.Println ("byte skive:", byte_slice)

Ovennevnte skal kopiere strengen i byte -skiven. Den resulterende utgangen er som:

Elementer kopiert: 5
STR: Hei
Byte -skive: [104 101 108 108 111 0 0 0 0 0]

Konklusjon

I denne artikkelen lærte vi hvordan vi bruker kopieringsfunksjonen. Dette lar oss kopiere elementer fra en kildeskive til et spesifisert reisemål. Vi kan også kopiere en streng til en byte -skive som vist i eksemplene.

Takk for at du leste!