디스커버리 Go 언어 - 구글 Go 언어 가독성 승인자가 알려주는 실전 Go 언어의 재발견
1
Go 언어의 문법을 가장 쉽게 설명한 책이다. 특히 고루틴과 채널에 관한 설명과 예제가 좋기 때문에 Go 언어에 관심있다면 꼭 읽어볼 필요가 있다.
2
챕터8의 ‘실무패턴’은 2~3번 정도 읽어볼 필요가 있다. 우리가 당연하게 받아들이고 있는 몇가지 것들을 Go 언어에서 구현하는 방법을 소개하고 있기 때문에 가장 흥미로웠다.
-
Go 표준 라이브러리에 따로 스택 자료구조가 들어 있지는 않습니다. 이미 슬라이스로도 충분히 구현이 가능하기 때문입니다. 스택에 집어넣는 것은 append를 이용하면 되고, 스택에서 빼내는 것은 마지막에 있는 것을 제거하는 것으로 가능합니다.
-
코드의 덩어리를 만든 다음에 그것을 호출하고 귀환할 수 있는 구조를 서브룬틴이라고 부릅니다. 큰 프로그램을 서브루틴으로 구분하면 코드를 재사용하여 중복된 코드를 줄일 수 있고, 서브루틴의 내부와 외부를 분리하여 생각할 수 있어서 코드를 추상화하고 단순화할 수 있습니다.
-
[…] 포인터를 넘겨주고 있을까요? 그 이유는 이 함수가 넘겨준 슬라이스의 값을 변경해야 하기 때문입니다.
-
동시성은 병렬성과는 다르지만 동시성이 있어야 병렬성이 생기게 됩니다.
-
[…] 넘겨받는 함수에서 받은 채널은 반대 방향으로 이용할 수 없으니 채널을 이용한 프로그래밍을 단순하게 하고, 실수를 방지해줍니다. 적극적으로 이용하시기를 권장드립니다.
-
[…] 채널을 이용하는 방법에 몇 가지 장점이 있습니다. 1) 생성하는 쪽에서는 상태 저장 방법을 복잡하게 고민할 필요가 없다 2) 받는 쪽에서는 for의 range를 이용할 수 없다 3) 채널 버퍼를 이용하면 멀티 코어를 활용하거나 입출력 성능상의 장점을 이용할 수 있다.