본문 바로가기

Go

(3)
Go 에러 객체 비교 errors.Is() 주제Go 에서 errors.Is() 함수의 필요성을 정리하고자 함.그런 함수가 왜 필요함?Go 에서 error 객체를 다룰 때 현재 실행 흐름에서 호출한 함수에서 던진 error 를 errors.Wrap() 함수를 통해 래핑하여 자식 error 객체로 만들어 반환할 수 있다. (Wrap() 함수에 대해서 이번 글에서는 다루지 않도록 한다.)이 때 생성된 자식 error 객체가 부모 객체와 “동일” 한지 또는 “할당 가능” 한지 체크하고자 하는 상황이 있을 수 있다.예를 들자면, 다음 코드이다.defer func() { if err := tx.Rollback(); err != nil { logrus.Error("failed to rollback", err) }}()  defer 키워..
Go 언어 입문 자료 모음 1. Go tour https://go-tour-ko.appspot.com/welcome/1 Go를 향한 여행 go-tour-ko.appspot.com Go 언어 공식 홈페이지에서 제공하는 자습서. 기본 문법 및 고루틴, 채널을 활용한 동시성에 대해서 예제를 통해 학습할 수 있다. 2. Learn go with test https://miryang.gitbook.io/learn-go-with-tests/ Learn Go with Tests - learn-go-with-tests 프로그래밍 경험. if, 변수, 함수 등을 이해할 수 있는지 miryang.gitbook.io Go 는 언어단에서 TDD (테스트 주도 개발) 를 할 수 있는 툴을 제공하는데 (go test) TDD형식으로 Go 문법을 익힐 수 ..
Go 1.18 (Generic, Fuzzing, go work) Go 1.18 이 포스트는 Go 공식 블로그 내용을 참고하였습니다. https://go.dev/blog/go1.18 👉 Go 1.18 에서는? go 1.18 에서는 다음 세 가지 기능이 추가되었습니다. (+ 성능 향상) Generics Fuzzing Workspace 지금부터 세 가지 기능에 대해 알아봅시다. 1️⃣ Generic 제네릭의 부재는 많은 사람들이 이야기하는 Go 의 불편한 점입니다. 실제로 2020 Go Developer Servey 에서 Generic 은 Go 의 불편한 점 조사에서 88%로 1위를 기록했습니다. Go 언어 개발자들은 이러한 니즈를 기반으로 1.18에서 제네릭 문법을 추가하게 되었습니다. 👉 HOW TO USE GENERIC? 제네릭은 특정 자료형에 종속되지 않는 코드를 ..