본문 바로가기

갈아먹는 엔지니어링 시리즈/golang

(3)
갈아먹는 go [3] struct와 class는 무엇이 다른가? 들어가며 go 언어에서는 class가 없습니다만 oop 스타일로 프로그래밍을 할 수 있습니다. go의 struct는 참 다재다능해서 메서드도 붙일 수 있고, embedding으로 상속도 흉내낼 수 있고, 인터페이스도 구현할 수 있습니다. 그렇다면 go는 class도 없으면서 object oriented language일까요? 이에 대해서 go 공식 도큐먼트[1]에는 다음과 같이 나와있습니다. go는 object oriented language일 수도 있고 아닐 수도 있다고 하네요. 핵심은 struct를 이용해서 oop 스타일로 코딩을 할 수는 있지만 결정적으로 object type 간에 위계 관계가 없다고 합니다. 때문에 subclassing과 같은 기능을 지원하지 않는다고 하네요. 이 부분이 저도 많이..
갈아먹는 go [2] 제어문 사용하기 들어가며 go에서 조건문, 반복문, break, continue 등의 기본적인 사용 방법은 다른 언어들과 유사합니다. 그러나 go에서만 제공하는 편리한 기능들이 숨어 있습니다. 이번 포스팅에서는 go의 각종 제어문들의 기본적인 사용 방법과 기능들에 대해서 알아보겠습니다. 모든 소스코드는 다음 레포에서 확인 가능합니다. https://github.com/yeomko22/go_basics/tree/master/ch2_flow_control yeomko22/go_basics go basic sample codes for practice. Contribute to yeomko22/go_basics development by creating an account on GitHub. github.com if 조건문 ..
갈아먹는 go [1] array와 slice 들어가며 개인적으로 go 프로그래밍 언어를 좋아합니다. 간결한 문법과 강력한 성능, goroutine과 channel을 통해서 동시성 프로그램을 손쉽게 구현할 수 있는 점이 매력적이었습니다. 하지만 go의 고급 패턴에만 관심이 있었지, 정작 기본기가 부족하여 인터뷰에서 간단한 질문도 제대로 답변하지 못했습니다. 부족한 기본기를 다시 채워넣기 위해서 꼼꼼하게 기본 개념들을 다지겠습니다. 가장 먼저 살펴볼 개념은 array와 slice입니다. 개념서부터 실제 인터뷰에서 나올 법한 질문들을 풀어보는 방식으로 진행하겠습니다. go 인터뷰를 준비하는 분들께 도움이 됐으면 좋겠습니다. 모든 소스코드는 다음 레포에서 확인 가능합니다. https://github.com/yeomko22/go_basics/tree/mas..