티스토리 뷰
반응형
Go 언어의 특징
간결하고 유연한 문법
- 코드가 단순하고 가독성이 높음
- 상태를 표현하는 타입과 동작을 표한하는 메서드를 분리하여 정의하여 이를 바인딩하여 객체를 표현 ⇒ 느슨한 결합 방식으로 자유롭게 객체 기반의 프로그래밍이 가능
- 구조체(struct)는 상속을 할 수 없음
- 구조체가 다른 구조체를 포함하는 임베디드 타입으로 정의 가능
- 상속 관계로 인하여 프로그램이 복잡해 지는 것을 방지
- 조합으로 코드를 재사용
병행 프로그래밍
- 코드를 병렬로 동작하게 하여 멀티 코어의 이점을 활용 가능하게 해줌
- 메모리를 동기화 하는 것이 아닌 CSP(Communcating Sequential Process) 방식 기반으로, 메시지를 전달하는 방식으로 동기화
- 동시에 독립적으로 실행되는 흐름의 단위인 고루틴으로 실행하여 동시에 작업을 처리
- 고루틴끼리 채널이라는 통로를 통해서 메시지를 주고 받음
정적 타입 언어
- 덕 타이핑 방식으로 동작하는 Go의 인터페이스로 인해 Go는 컴파일 기반의 정적 타입 언어이지만 동적 언어의 특성도 가지고 있음
가비지 컬렉션
- 가비지 컬렉션을 제공하여 메모리를 관리
빠른 컴파일과 실행 속도
- 패지키화된 소스 코드에서 실제도 사용되는 부분만 컴파일 함으로써 컴파일 속도가 빠름
- Go는 빠른 성능을 목표로 개발됨
Go 설치 (Mac OS)
brew install go
위의 명령어를 사용하여 homebrew로 설치한다. brew를 통해서 설치하는 방법을 추천한다.
https://golang.org/doc/install#download
위의 사이트에 들어가서 파일을 다운받고 설치를 하면 된다.
설치를 확인하기 위해서는 터미널을 종료하고 다시 시작해야한다. (이것 때문에 설치를 잘못한 줄 알고 헤맸다...🥲)
go version
위의 명령어를 터미널에 입력하면 버전을 확인할 수 있다. (현재는 1.18.* 버전이 설치된다)
에디터
vscode의 extensions에 Go를 입력한다.
이미지에 보이는 것을 설치하면 된다.
https://github.com/golang/vscode-go/blob/master/README.md
설치한 extension의 README 파일이다.
이것을 보고 어떻게 사용하는지 보면 된다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- solidity
- string
- Squash and merge
- java
- DGS Framework
- postman tests
- Kotlin In Action
- squash merge
- 네이버 2022 공채
- github
- python3
- 확장 함수
- postman collection
- Kotlin
- Basic Type
- Python
- 코틀린
- 1차 인터뷰
- 코딩테스트
- go 특징
- 2차 인터뷰
- hashcode
- 주생성자
- git
- downTo
- pm.test
- graphql
- mysql
- pm.expect
- postman
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함