How to Perform a Deep Copy in Golang

0 min read 65 words

To perform a Deep Copy in Go, you can use a struct type as follows:

Deep Copying using a struct in Go

package main

import (
    "fmt"
)

type Dog struct {
    age     int
    name    string
    friends []string
}

func main() {
    john := Dog{1, "Harry", []string{"Steve", "Matt", "Sarah"}}
    jack := john

    jack.friends = make([]string, len(john.friends))
    copy(jack.friends, harry.friends)

    jack.friends = append(jay.friends, "Fred")

    fmt.Println(john)
    fmt.Println(jack)
}
Tags:
Andrew
Andrew

Andrew is a visionary software engineer and DevOps expert with a proven track record of delivering cutting-edge solutions that drive innovation at Ataiva.com. As a leader on numerous high-profile projects, Andrew brings his exceptional technical expertise and collaborative leadership skills to the table, fostering a culture of agility and excellence within the team. With a passion for architecting scalable systems, automating workflows, and empowering teams, Andrew is a sought-after authority in the field of software development and DevOps.

Tags