ADVERTISEMENT
ADVERTISEMENT

Golang copy() Function with Examples

Golang | copy() Function: Here, we are going to learn about the built-in copy() function with its usages, syntax, and examples.
Submitted by IncludeHelp, on October 14, 2021

copy() Function

In the Go programming language, the copy() is a built-in function that is used to copy the elements from a source slice into a destination slice and returns the number of copied elements copied.

It accepts two parameters (dst, src []Type) and returns the number of copied elements.

Syntax:

func copy(dst, src []Type) int

Parameter(s):

  • dst : The destination slice in which we have to copy the elements.
  • src : The source slice whose elements are to be copied.

Return Value:

The return type of the copy() function is an int, it returns the total number of copied elements.

Example 1:

// Golang program to demonstrate the
// example of copy() function

package main

import (
	"fmt"
)

func main() {
	// Creating int and string slices
	s1 := []int{10, 20, 30}
	s2 := []string{"Hello", "World"}

	s3 := make([]int, len(s1))
	s4 := make([]string, len(s2))

	// Printing types and values of slices
	fmt.Printf("s1: %T, %v\n", s1, s1)
	fmt.Printf("s2: %T, %q\n", s2, s2)

	// Copying slices
	m := copy(s3, s1)
	fmt.Println(m, "elements copied.")

	n := copy(s4, s2)
	fmt.Println(n, "elements copied.")

	// After copying,
	// Printing types and values of slices
	fmt.Println("After copying...")
	fmt.Printf("s3: %T, %v\n", s3, s3)
	fmt.Printf("s4: %T, %q\n", s4, s4)
}

Output:

s1: []int, [10 20 30]
s2: []string, ["Hello" "World"]
3 elements copied.
2 elements copied.
After copying...
s3: []int, [10 20 30]
s4: []string, ["Hello" "World"]

Example 2:

// Golang program to demonstrate the
// example of copy() function

package main

import (
	"fmt"
)

func main() {
	// Creating a byte slice
	s := "Hello"
	b := make([]byte, len(s))

	// Printing types and values
	fmt.Printf("s: %T, %q\n", s, s)
	fmt.Printf("b: %T, %q\n", b, b)

	// Copying bytes from a string
	// to a slice of bytes
	n := copy(b, s)
	fmt.Println(n, "elements copied.")

	// After appending,
	// Printing type and value of slice
	fmt.Println("After copying...")
	fmt.Printf("s: %T, %q\n", s, s)
	fmt.Printf("b: %T, %q\n", b, b)
}

Output:

s: string, "Hello"
b: []uint8, "\x00\x00\x00\x00\x00"
5 elements copied.
After copying...
s: string, "Hello"
b: []uint8, "Hello"

Golang builtin Package »


ADVERTISEMENT
ADVERTISEMENT


Comments and Discussions!



ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.