Golang 이란?
가비지 컬렉션 기능이 있고, 병행성(concurrent)을 잘 지원하는 컴파일 언어다.
병행성Go를 이용해 프로그램들이 서로 소통하면서 상태를 공유하는 동시성(concurrency) 프로그램을 쉽게 만들 수 있다.동시성이란 멀티스레딩, 병렬 컴퓨팅 뿐 아니라, 비동기성 입출력 또한 포함한다. 예를 들어, 이벤트 기반 서버와 같이, 데이터베이스나 네트워크 작업과 같이 시간이 많이 걸리는 연산을 하는 동안 프로그램이 다른 일을 하는 것을 말한다. |
구문이 C와 비슷하지만 메모리 보안, 쓰레기 수집, 구조 타이핑, CSP 스타일 병행성을 제공한다.
간결한 문법과 빠른 컴파일의 시스템 프로그래밍에 적합되게 설계된 언어다.
Go의 문법은 대체로 C와 비슷하다: 코드 블록들은 중괄호로 둘러싸고 for, switch, if를 포함한 일반적인 제어구조를 가지고 있다. C와 다르게, 한 라인 끝의 세미콜론은 필수가 아닌 옵션이다. 변수 선언은 다르게 작성되고 대개 옵션이다. 형 변환은 명시적으로 해야 한다. 병행 컴퓨팅을 다루기 위해 go와 select 키워드가 사용된다. 새로운 타입은 map, 유니코드 문자열, 배열 slice, 그리고 내부 쓰레드 통신을 위한 채널(channel)이 있다. |
Go는 정적 타입 컴파일 언어의 효율성과 동적 언어처럼 쉬운 프로그래밍을 할 수 있도록 하는 것을 목표로 한다.
- 안전성 : 타입 안전성과 메모리 안전성
- 병행성과 통신을 위한 훌륭한 지원
- 효과적인 가비지 컬렉션
- 빠른 컴파일
37개의 키워드를 가진 C에 비해 25개로 간결한 키워드를 갖는다.
Go로 만든 Hello, World 프로그램 예시
package main import "fmt" func main() { fmt.Println("Hello, World") } |
리눅스에 Go 설치하기
리눅스에 Go를 설치하기 위해서는 Go 공식 웹사이트인 http://golang.org/dl 을 방문하여 Linux용 압축파일을 다운받아 설치한다.
|
'Programming' 카테고리의 다른 글
SQL 기초중에기초중에기초 문법 (0) | 2022.02.11 |
---|---|
[Java]리소스 확인 (0) | 2021.10.28 |
[JAVA]자바 스트림(Stream) (0) | 2021.10.25 |