티스토리 뷰

반응형

Go 언어의 특징

간결하고 유연한 문법

  • 코드가 단순하고 가독성이 높음
  • 상태를 표현하는 타입과 동작을 표한하는 메서드를 분리하여 정의하여 이를 바인딩하여 객체를 표현 ⇒ 느슨한 결합 방식으로 자유롭게 객체 기반의 프로그래밍이 가능
  • 구조체(struct)는 상속을 할 수 없음
    • 구조체가 다른 구조체를 포함하는 임베디드 타입으로 정의 가능
    • 상속 관계로 인하여 프로그램이 복잡해 지는 것을 방지
  • 조합으로 코드를 재사용

 

병행 프로그래밍

  • 코드를 병렬로 동작하게 하여 멀티 코어의 이점을 활용 가능하게 해줌
  • 메모리를 동기화 하는 것이 아닌 CSP(Communcating Sequential Process) 방식 기반으로, 메시지를 전달하는 방식으로 동기화
    • 동시에 독립적으로 실행되는 흐름의 단위인 고루틴으로 실행하여 동시에 작업을 처리
    • 고루틴끼리 채널이라는 통로를  통해서 메시지를 주고 받음

 

정적 타입 언어

  • 덕 타이핑 방식으로 동작하는 Go의 인터페이스로 인해 Go는 컴파일 기반의 정적 타입 언어이지만 동적 언어의 특성도 가지고 있음

 

가비지 컬렉션

  • 가비지 컬렉션을 제공하여 메모리를 관리

 

빠른 컴파일과 실행 속도

  • 패지키화된 소스 코드에서 실제도 사용되는 부분만 컴파일 함으로써 컴파일 속도가 빠름
  • Go는 빠른 성능을 목표로 개발됨

 

Go 설치 (Mac OS)

brew install go

  위의 명령어를 사용하여 homebrew로 설치한다. brew를 통해서 설치하는 방법을 추천한다.

 

https://golang.org/doc/install#download

 

Download and install - The Go Programming Language

Download and install Download and install Go quickly with the steps described here. For other content on installing, you might be interested in: 1. Go download. Click the button below to download the Go installer. Download Go Don't see your operating syste

golang.org

위의 사이트에 들어가서 파일을 다운받고 설치를 하면 된다.

 

설치를 확인하기 위해서는 터미널을 종료하고 다시 시작해야한다. (이것 때문에 설치를 잘못한 줄 알고 헤맸다...🥲)

 

go version

위의 명령어를 터미널에 입력하면 버전을 확인할 수 있다. (현재는 1.18.* 버전이 설치된다)

 

 

에디터

vscode의 extensions에 Go를 입력한다.

 

이미지에 보이는 것을 설치하면 된다.

 

https://github.com/golang/vscode-go/blob/master/README.md

 

GitHub - golang/vscode-go: Go extension for VS Code

Go extension for VS Code. Contribute to golang/vscode-go development by creating an account on GitHub.

github.com

설치한 extension의 README 파일이다.

 

이것을 보고 어떻게 사용하는지 보면 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함