>  기사  >  백엔드 개발  >  golang과 go 언어 사이에 차이가 있나요?

golang과 go 언어 사이에 차이가 있나요?

青灯夜游
青灯夜游원래의
2020-04-17 16:48:4015210검색

golang과 go 언어 사이에는 차이가 없습니다. golang은 go 언어의 별칭입니다. Go(Golang이라고도 함)는 Google에서 개발한 가비지 수집 기능을 갖춘 정적으로 강력한 형식의 컴파일된 동시 프로그래밍 언어입니다.

golang과 go 언어 사이에 차이가 있나요?

설명

Go의 구문은 C 언어에 가깝지만 변수 선언이 다릅니다. Go는 가비지 수집을 지원합니다. Go의 병렬 모델은 Tony Hall의 CSP(Communicating Sequential Process)를 기반으로 하며 유사한 모델을 채택한 다른 언어로는 Occam 및 Limbo가 있지만 채널 전송과 같은 Pi 작업 기능도 갖추고 있습니다. 플러그인 지원은 버전 1.8에서 시작됩니다. 이는 이제 일부 기능을 Go에서 동적으로 로드할 수 있음을 의미합니다.

C++와 비교하여 Go에는 열거, 예외 처리, 상속, 제네릭, 어설션, 가상 함수 등과 같은 기능이 포함되어 있지 않지만 슬라이스 유형, 동시성, 파이프라인, 가비지 수집 및 인터페이스가 추가됩니다. 다른 기능의 경우. Go 2.0 버전은 제네릭을 지원하지만 단언문의 존재에 대해 부정적인 태도를 취하고 있으며 유형 상속을 제공하지 않는다고 방어합니다.

Java와 달리 Go에는 문자열 유형과 마찬가지로 연관 배열(해시 또는 사전이라고도 함)이 내장되어 있습니다.

golang의 특징

  • 간단한 구문

    Go 언어는 C/C++ 언어처럼 학습 곡선이 완만하여 간단하고 배우기 쉽습니다. Go 언어는 "인터넷 시대의 C 언어"라고 불립니다. Go 언어의 스타일은 C 언어와 유사합니다. C 언어를 기반으로 구문이 대폭 단순화되었으며, 불필요한 표현 괄호가 제거되었습니다. 루프에는 숫자 값, 키 값 등 다양한 순회를 구현할 수 있는 for라는 표현 방법이 하나만 있습니다.

  • 균일한 코드 스타일

    Go 언어는 일련의 서식 도구(go fmt)를 제공합니다. 일부 Go 언어 개발 환경이나 편집자는 서식 지정 도구를 사용하여 저장할 때 코드 형식을 수정하므로 여러 개발자가 제출한 코드가 통일된 형식이 되도록 보장합니다.

  • 좋은 실행 성능

    Go 언어는 우리가 작성한 코드가 서버에서 실행될 수 있는 바이너리 실행 파일로 직접 컴파일되는 언어입니다.

  • 높은 개발 효율성

    Go 언어는 컴파일된 언어이지만 가비지 수집 메커니즘이 내장되어 있어 개발자의 정신적 부담을 줄이고 Python, PHP 등의 해석 언어와 동일한 성능을 제공합니다. .개발 효율성. 개발 효율성과 실행 효율성의 완벽한 조합을 실현합니다.

  • 동시성을 지원하기 위해 탄생

    Go는 멀티 코어 프로세서가 이미 시장에 출시된 2009년에 출시되었습니다. Go 언어는 멀티 코어 동시성에서 기본 설계 이점을 가지고 있으며, 타사 라이브러리, 개발자의 프로그래밍 기술 및 개발 경험 없이도 기본적으로 상향식 동시성을 지원합니다.

글쓰기 스타일

Go에는 여러 가지 규정이 있으며 이는 필수 사항이며, 다음 규정이 일치하지 않으면 컴파일 시 오류가 발생합니다.

  1. 프로그램의 각 줄 뒤에 세미콜론(;)을 쓸 필요가 없습니다.

  2. 중괄호({)는 새 줄에 배치할 수 없습니다.

  3. 판단 및 for 루프를 괄호로 묶을 필요가 없는 경우.

Go에는 코드에서 과도한 공백을 자동으로 정렬하고, 변수 이름을 정렬하고, 정렬된 공백을 탭으로 변환할 수 있는 gofmt 도구가 내장되어 있습니다.

Compiler

현재 Go 컴파일러 브랜치는 두 가지, 즉 공식 컴파일러 gc와 gccgo가 있습니다. 공식 컴파일러는 처음에는 C로 작성되었으며 나중에 부트스트래핑을 달성하기 위해 Go로 다시 작성되었습니다. Gccgo는 표준 GCC를 백엔드로 사용하는 Go 컴파일러입니다.

공식 컴파일러는 크로스 플랫폼 컴파일을 지원하므로(CGO는 지원하지 않음) 소스 코드를 대상 시스템 및 아키텍처에서 실행할 수 있는 바이너리로 컴파일할 수 있습니다.

추천 학습: Golang 튜토리얼

위 내용은 golang과 go 언어 사이에 차이가 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.