Golang (또는 Go 언어)는 효율적이고 고성능의 프로그래밍 언어로 널리 알려져 있습니다. 그 중에서도 구조체는 데이터를 표현하는 강력한 도구입니다. 그러나 Golang 구조체를 복사하는 방법에 대해 혼란스러워할 수 있습니다. 이 기사에서는 구조체를 복사하는 기본적인 방법을 3가지 이상 소개하고 코드 예제를 통해 이를 명확하게 설명하겠습니다.
구조체 복사 방법
방법 1: 단순 대입
가장 기본적인 방법은 단순 대입을 사용하는 것입니다. 이 방법은 원본 구조체와 복사 대상 구조체가 동일한 유형인 경우에 사용할 수 있습니다.
package main
import "fmt"
type Person struct {
FirstName string
LastName string
}
func main() {
person1 := Person{"John", "Doe"}
var person2 Person
person2 = person1 // 구조체 복사
fmt.Println(person2)
}
방법 2: 포인터를 사용한 복사
포인터를 사용하여 구조체를 복사할 수도 있습니다. 이를 통해 원본 구조체와 복사 대상 구조체가 동일한 메모리를 공유할 수 있습니다.
package main
import "fmt"
type Person struct {
FirstName string
LastName string
}
func main() {
person1 := &Person{"John", "Doe"}
var person2 *Person
person2 = person1 // 포인터를 사용한 복사
fmt.Println(*person2)
}
방법 3: copy()
함수 사용
copy()
함수를 사용하여 구조체를 복사할 수도 있습니다. 이 방법은 구조체가 슬라이스 내에 있는 경우 등에 유용합니다.
package main
import "fmt"
type Person struct {
FirstName string
LastName string
}
func main() {
person1 := Person{"John", "Doe"}
personSlice := []Person{person1}
var person2 Person
copy(personSlice, personSlice) // `copy()` 함수 사용
person2 = personSlice[0]
fmt.Println(person2)
}
이러한 방법을 사용하여 Golang에서 구조체를 복사하는 기본 방법을 이해했습니다. 적절한 상황에 따라 각 방법을 선택하십시오. 어떤 방법을 선택하더라도 Golang의 구조체 복사는 간단하고 효율적인 작업입니다.