드리프트의 뉴 코딩 이야기
close
프로필 배경
프로필 로고

드리프트의 뉴 코딩 이야기

  • 분류 전체보기 (416)
    • Javascript (177)
    • Go (143)
    • Rust (33)
    • Python (31)
    • Docker (5)
    • Codings (10)
    • Linux (5)
    • Flutter (3)
    • Etc (9)
  • 홈
  • Javascript
  • Go
  • Rust
  • Python
Golang 딥 카피 기법과 모범 사례

Golang 딥 카피 기법과 모범 사례

Golang 딥 카피 기법과 모범 사례 소프트웨어 개발에서 데이터 구조를 복제하는 일은 매우 빈번하게 발생합니다.Golang에서는 데이터 구조를 깊이 복사(Deep Copy)해야만 원본과 복제본이 독립적으로 동작하도록 보장할 수 있습니다.이 글에서는 얕은 복사와 깊은 복사의 차이를 짚어보고, 배열·슬라이스·맵·구조체 등 다양한 타입별 딥 카피 기법을 소개합니다.아울러 성능 관점과 실무에서 적용할 수 있는 팁, 서드파티 라이브러리 활용법까지 폭넓게 다룹니다.얕은 복사와 깊은 복사 이해하기얕은 복사(Shallow Copy)는 새로운 변수를 생성하지만 실제 데이터는 동일한 메모리를 참조합니다.이로 인해 한쪽 값을 수정하면 다른 쪽에도 변경이 전파될 수 있습니다.반면 깊은 복사(Deep Copy)는 원본 데이터..

  • format_list_bulleted Go
  • · 2025. 7. 13.
  • textsms
Go 언어의 리플렉션, 제대로 활용하는 방법!

Go 언어의 리플렉션, 제대로 활용하는 방법!

Go 언어의 리플렉션, 제대로 활용하는 방법! Go 언어의 리플렉션(Reflection) 기능, 왠지 어렵고 복잡하게 느껴지시나요? 하지만 리플렉션은 Go 언어의 강력한 기능 중 하나이며, 제대로 이해하고 활용하면 코드의 유연성과 확장성을 크게 높일 수 있습니다. 이 글에서는 Go 언어의 리플렉션 기능을 쉽고 명확하게 설명하고, 실제 코드 예시를 통해 제대로 활용하는 방법을 알려드리겠습니다.  Go 언어의 리플렉션, 핵심 개념부터 짚고 넘어가자! 리플렉션이란?모든 변수를 interface{} 타입으로 다루면서, 변수의 실제 값을 기반으로 유연한(동적 타입 언어처럼) 연산을 수행하는 기능입니다.  Go 언어의 타입 Go 언어는 정적 타입 언어입니다. 즉, 변수의 타입이 컴파일 시점에 결정됩니다.type M..

  • format_list_bulleted Go
  • · 2024. 10. 30.
  • textsms
Go 1.23의 숨겨진 보석: reflect.Value.Seq와 reflect.Value.Seq2

Go 1.23의 숨겨진 보석: reflect.Value.Seq와 reflect.Value.Seq2

Go 프로그래밍 언어는 간결하고 효율적인 코딩을 지향하지만, 이터레이터와 관련된 부분에서는 다소 불편함이 있었습니다. 새로운 Go 1.23 버전에서는 이러한 문제를 해결하기 위해 reflect.Value.Seq와 reflect.Value.Seq2라는 기능이 추가되었습니다. 이 기능들은 다양한 타입을 이터레이터로 변환하여 훨씬 더 쉽게 반복 작업을 수행할 수 있게 해줍니다. 이 글에서는 이 새로운 기능들이 어떤 문제를 해결하고 어떻게 사용되는지에 대해 자세히 살펴보겠습니다. 기존 채널 기반 이터레이터의 문제점Go에서 이터레이터 패턴을 구현할 때 주로 채널을 사용했습니다. 하지만 이 방법에는 몇 가지 문제점이 있었습니다:제네릭이 없어서 타입별로 유틸리티를 작성해야 함: Go 1.18부터 제네릭이 도입되어 이..

  • format_list_bulleted Go
  • · 2024. 7. 29.
  • textsms
  • navigate_before
  • 1
  • navigate_next
태그
  • #타입스크립트
  • #typescript
  • #성능 최적화
  • #javascript
  • #Go
  • #Rust
  • #자바스크립트
  • #Golang
  • #Go 언어
  • #프로그래밍
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바