loading
본문 바로가기

728x90
반응형
Golang 4
728x90
반응형

[Go] Go언어 Channel (혹시 고루틴 포스팅을 보지 않으신 분은 먼저 훑고 오시길....) artist-developer.tistory.com/14?category=951423 [Go] 고루틴(go-routine) 앞서 Go언어 입문에 포스팅하였듯, Go언어의 대표적 특징 중 하나에는 병행성이 있다. Go언어는 'go' 키워드를 사용하여, 고루틴을 만드는데, 여기서 고루틴은 비동기적(asynchronously)으로 특정 함수 artist-developer.tistory.com 우리는 이제 Go언어에서 병행성(Concurrency)을 어떻게 보장하는지 알게 되었다. 이처럼 병행성이 보장된 Multi-thread와 같은 환경에서 가장 중요한 것은 동기화(Synchronous) 이다. Thread 간에 데이터를 공유하고 실행 순서를.. 2020. 9. 14.
[Go] 고루틴(go-routine) 앞서 Go언어 입문에 포스팅하였듯, Go언어의 대표적 특징 중 하나에는 병행성이 있다. Go언어는 'go' 키워드를 사용하여, 고루틴을 만드는데, 여기서 고루틴은 비동기적(asynchronously)으로 특정 함수 루틴을 실행하므로, 여러 함수(또는 코드)가 동시에(Concurrently) 실행된다.(병행성의 만족) 병행성(Concurrency) 흔히들 병렬성(Parallelism)과 병행성(Concurrency)을 혼동하곤 한다. 병렬성은, 실제로 여러 작업을 동시에 수행하는 것을 의미한다. 병행성은, 마치 여러 일을 동시에 하듯이 수행하는 것을 의미한다. 쉬운 예로 둘을 비교해보자. 이 글을 적고 있는 필자는 현재, '커피를 마시면서' '포스팅'을 하고 있다. 하지만 여기서, 커피를 마시는 일과 포스.. 2020. 9. 13.
[Go] Go 언어 강 타입(strongly-typed) 앞서 Go 언어의 대표적인 특징에서 언급한 것처럼, Go 언어는 강타입(strongly-typed) 언어이다. 프로그래밍 언어를 배우거나 다루다보면, 강타입/약타입이란 용어가 빈번하게 등장하곤 한다. 본 포스팅 에서는 이 용어가 의미하는 것이 무엇인지, 그리고 Go 언어에서는 이러한 특징이 어떠한 형태로 나타나는지를 알아볼 것이다. 강타입과 약타입 앞 포스팅에서 언급하였듯, 프로그래밍 언어에서 '타입'이란 자료형을 의미한다. 또한 여기에서의 강과 약이란, 자료형의 변환을 기준으로 구분된다. 흔히 Type Casting 또는 Type Conversion이라고 불리는 형변환은 언어를 능숙하게 다루기 위해서 반드시 숙지하여야 할 개념이다. (구글에 C++을 치면 'C++ int to string'. 'C++ .. 2020. 9. 9.
[Go] Go 언어 입문 Go! 개발자가 아닌 사람들에게 Go 키워드를 묻는다면, 무엇이 떠오를까? 감히 예측하건데, 2016~2017년 전세계를 강타한 포켓몬고의 열풍이 아닐까 싶다. (물론 지금의 그 열기는 다소 식은 것처럼 보이지만..) 그러나 우리 개발자(놈)들에게 Go란, 다른 의미로 전세계를 강타하고 있는 Programming language이다. 곰돌이? 주제에 귀엽기도 하지.... 최근엔 이렇게 CS 쪽에도 캐릭터화가 많이 이루어지고 있는 것 같다. (Docker의 고래라던가, Linux의 펭귄이라던가...) 2007년 Google(이라 쓰고 갓글이라 부르지)에서 만든 Go는 " 빠른 성능 안정성 편의성 쉬운 프로그래밍 " 을 목표로 제작된 언어이다. C언어의 대부라고 불리는 켄 톰슨(갓) 분이 참여해서 화제가 되.. 2020. 9. 3.