golang의 기본적인 특징
기본특징
- Compile 언어
- 시스템 프로그래밍 언어
- ARM , X86 완벽 지원
- windows, linux, mac 지원
- Class 미지원
- 상속 및 오버로딩 미지원
- GC(Garbage Collector)지원
- 포인터는 지원하지만 포인터 연산을 지원하지 않음
- 엄격한 타입 변환->타입변환을 명시적으로 하지 않으면 컴파일 에러
- 객체지향 언어이기도 하고 객체지향 언어가 아니기도 하다.(인터페이스개념을 지원하므로)->상속을 다른 접근 방식으로 지원
C언어의의 비교
- 변수 선언
- 세미콜론
- { }의 올바른 위치 및 의무적 사용 강제화
- while문(Go언어는 while문은 없음->for문으로 사용하도록함)
- public, private키워드를 지원(함수나 변수의 첫글자가 대문자인 경우 외부에서 접근가능, 소문자인 경우 접근 불가)
- switch->Go언어에서는 switch~case문에서 break가 없음.
- Go언어의 function은 2개이상의 값을 return할 수 있다.(경험상 활용도가 높고 유용하다.)
- 두 변수의 swap는 간결하다.
- ex) i, j = j, i
- Go언어에서는 변수 선언후 사용하지 않는 변수가 있을 경우 컴파일 오류 발생
- Go 언어에서는 암시적 형변환은 없다.(버그 사전방지효과.)
Go 언어로 개발된 대표적인 상용제품
- Docker, Kubernetes
- Twitch 서비스(게임 중계 사이트) - 아마존이 1억달러에 인수
- 채팅 기능을 Go 언어로 개발하여 성공(성능이나 안정성이 향상)
- Cisco InterCloud 서비스
- Private/Public cloud 연결을 통해 IOT 애플리케이션 런칭을 목표로 하는 서비스
- Parse.com
- Ruby에서 Golang으로 옮김(성능 확장 개선)
- 온라인 결제 페이팔(Paypal)
- BLE(Bluetooth Low Energy)관련고크
- XOR Exchange, Yext, DataDog, CoreOs, New Relic, SoundCloud, MongoDB, Canonical 등.
'언어 > Golang' 카테고리의 다른 글
| Pure zmq4 based on golang 오픈소스를 활용하여 PUB/SUB 테스트 (0) | 2020.11.23 |
|---|---|
| Go 오픈소스를 이용하여 C코드에서 활용 할 수 있는 Library 테스트 (0) | 2020.11.23 |