Go error(에러) – 업무에 사용하는 Go 언어 15

업무에 사용하는 Go 언어 썸네일

Go 언어를 사용하면서 가장 먼저 낯설게 느껴지는 부분 중 하나는 에러 처리 방식입니다.특히 Python이나 JavaScript에 익숙한 개발자라면 Go의 에러 처리가 다소 생소하게 느껴질 수 있습니다.하지만 Go의 철학을 이해하고 나면 이 방식이 얼마나 명확하고 예측 가능하게 설계되었는지를 알 수 있습니다.예외를 사용하지 않고, 모든 것을 값으로 처리하는 방식은 코드의 안정성과 가독성을 높이는 데 많은 도움이 됩니다. go … 더 읽기

Go 패키지(package) – 업무에 사용하는 Go 언어 14

업무에 사용하는 Go 언어 썸네일

Go 언어는 소프트웨어의 유지보수성과 확장성을 극대화하기 위해 패키지(package) 개념을 핵심적인 구조 요소로 채택하고 있습니다.이 글에서는 go 패키지(package)라는 주제를 중심으로, 패키지의 개념적 기반부터 실질적인 활용법, 외부와의 인터페이스 설계, 초기화 함수의 작동 방식까지 깊이 있게 다루고자 합니다.필자는 다양한 규모의 프로젝트에 Go 언어를 도입해본 경험을 바탕으로, 실제 개발 환경에서의 활용 사례와 전략적 고려 사항을 포함하여 본 내용을 정리하였습니다. … 더 읽기

Go interface – 업무에 사용하는 Go 언어 13

업무에 사용하는 Go 언어 썸네일

Go interface는 동작(Behavior)을 정의하는 추상 타입입니다.인터페이스는 구조체나 다른 타입들이 특정 메서드를 구현했는지를 확인하여 다형성을 지원합니다.이를 통해 Go는 객체 지향 프로그래밍의 중요한 요소 중 하나인 다형성(Polymorphism)을 효과적으로 제공합니다. 여러 타입이 있고 각 타입에 대한 동작의 의미는 같으나 코드는 분리해야 할 때 사용하면 좋다.예를 들면, 사각형, 원 등 여러 도형에 대하여 넓이를 구한다는 동작의 의미는 동일하지만 도형 … 더 읽기

Go method – 업무에 사용하는 Go 언어 12

업무에 사용하는 Go 언어 썸네일

Go 언어 method는 struct에 속하는(혹은 속해있는) 함수입니다.Go 언어에는 class가 존재하지 않고 oop를 위해 struct를 이용하게 됩니다.oop의 특징을 struct에 도입하여 사용할 수 있도록 되어있습니다. Go 언어 method 정의 Go 언어 method는 특정 타입에 속하는 함수로 정의되어 있습니다.즉, Go 언어 method를 정의하려면 먼저 struct와 같이 사용자 정의 타입을 정의하고 해당 타입에 바인딩할 함수를 정의하면 됩니다. Go 언어 … 더 읽기

Go struct – 업무에 사용하는 Go 언어 11

업무에 사용하는 Go 언어 썸네일

Go 언어 struct(구조체)는 다른 언어에서 기본적으로 제공하는 struct와 비슷합니다.다만, Go 언어에는 OOP(객체 지향 프로그래밍)에서 흔히 사용하는 class가 존재하지 않습니다.Go 언어 struct가 class와 유사한 역할을 하는데, 상속과 같은 기능을 제공하지는 않고, interface를 통해 여러가지 기능을 제공합니다.Struct를 활용하여 간단한 데이터부터 복잡한 데이터 모델링까지 가능하게 해주기 때문에 꼭 살펴보고 넘어가야 합니다.본 글에서는 struct의 기본 개념부터 사용 방법까지 살펴보도록 … 더 읽기

Go 포인터 – 업무에 사용하는 Go 언어 10

업무에 사용하는 Go 언어 썸네일

포인터는 어떠한 값의 메모리 주소를 저장합니다.Go 언어 포인터는 개념 자체는 같지만 다른 언어와는 약간 다른 특징을 가지고 있으니 이에 대해 중점적으로 살펴보도록 하겠습니다. Go 언어 포인터 포인터 자체에 대한 개념은 상세하게 설명하지 않겠습니다.Go 언어에서도 포인터는 메모리 주소(혹은 위치)를 참조하는 참조 타입의 변수입니다.C 계열 언어의 스타일과 비슷하게 &를 붙여 메모리 주소를 구하고, *를 사용하여 실제 값을 … 더 읽기

Go 함수 – 업무에 사용하는 Go 언어 9

업무에 사용하는 Go 언어 썸네일

Go 언어의 함수에 대해서 다루어보도록 하겠습니다.프로그래밍 언어에서 함수는 필수적인 요소일 것 입니다.함수형 프로그래밍이든 객체 지향 프로그래밍을 하든 어떤 패턴을 써도 함수는 필수적으로 사용됩니다.함수를 잘 활용하면 코드를 재사용 할 수 있고 프로그램의 구조를 잡을 수 있습니다. func Go 언어에서도 함수는 0개 혹은 여러 인자를 받을 수 있습니다.func 키워드를 사용하여 선언할 수 있고 함수 이름, 매개변수, 반환 … 더 읽기

Go make – 업무에 사용하는 Go 언어 8

업무에 사용하는 Go 언어 썸네일

Go 언어에서 중요한 내장 함수 중 make에 대해 다루도록 하겠습니다.make 함수는 slice, map, channel 같이 Go 언어의 참조 타입 중 컬렉션 타입을 초기화할 때 사용합니다.메모리에 변수의 구조를 알려주는 행위라고 이해하시면 되겠습니다. 약간의 여담 nil 상태에 대해서 저번 글에 아주 상세히 다루어보았다.“리터럴이 딱히 없는데 어떡하지? 아무 값으로 일단 초기화 해야하나?”라는 의문을 가진 분들이 있을 것이다. 그런 … 더 읽기

Go nil – 업무에 사용하는 Go 언어 7

업무에 사용하는 Go 언어 썸네일

Go 언어 nil에 대해 다루어보도록 하겠습니다.nil에 대한 개념은 매우 혼동될 수 있으므로 주의 깊게 살펴보시길 바랍니다. 약간의 여담 필자는 시리즈 초반에 nil에 대해 다루어보려고 했다.zero value와 nil을 가질 수 있는 자료구조를 어느 정도 다루지 않고 설명하기 힘들어서 이렇게 따로 설명하게 되었다. Go 언어 nil nil은 null이나 undefined과 비슷하지만 약간 특이합니다.특정 타입의 변수가 “값이 초기화되지 않은 … 더 읽기

Go array slice map – 업무에 사용하는 Go 언어 6

업무에 사용하는 Go 언어 썸네일

Go 언어에서 array, slice, map과 같이 반복 가능한 데이터를 다루어보도록 합시다.반복 가능한 데이터라 하면 메모리에 줄을 지어서 존재하는 데이터로 쉽게 이해할 수 있습니다.이러한 데이터를 다루는 부분에서 Go 언어의 특성을 살펴볼 수 있습니다. 자료구조의 중요성 자료구조는 코드의 효율성에 가장 관련이 있다고 생각한다.효율성에는 최적화, 가독성 등 많은 의미가 담겨있다.필자가 생각하기에는 자료구조에 대한 정확한 지식이 없으면 메모리가 많이 … 더 읽기