golang은 가비지 수집 기능을 갖춘 정적으로 강력한 유형의 컴파일된 동시 프로그래밍 언어로, 애플리케이션 성능을 잃지 않으면서 코드의 복잡성을 크게 줄일 수 있으며 멀티 코어 처리를 활용할 수도 있습니다. 객체의 문제를 해결할 수 있습니다. 지향적인 프로그래밍을 제공하며 프로그래머가 사소하지만 중요한 메모리 관리 문제를 처리하도록 돕습니다.
이 튜토리얼의 운영 환경: windows10 시스템, GO 1.11.2, thinkpad t480 컴퓨터.
Go 언어는 Google이 2007년에 개발하여 2009년에 공식 출시한 정적으로 강력한 형식의 컴파일된 언어입니다.
golang(go 언어라고도 함)은 Google에서 개발한 가비지 수집 기능을 갖춘 정적으로 강력한 유형의 컴파일된 동시 프로그래밍 언어입니다. 간단하고 안정적이며 효율적인 소프트웨어를 쉽게 구축할 수 있는 간단한 오픈 소스 프로그래밍 언어입니다.
Go 언어는 애플리케이션 성능을 저하시키지 않으면서 코드의 복잡성을 크게 줄일 수 있으며, 멀티 코어 프로세서의 동기화된 멀티 태스킹을 활용하고 객체 지향 프로그래밍의 문제를 해결하며 프로그래머가 사소한 일을 처리하는 데 도움을 줄 수 있습니다. 그러나 중요한 메모리 관리 문제는 다른 프로그래밍 언어와 비교할 때 간단하고 빠르고 안전하며 병렬적이고 흥미롭고 오픈 소스이며 메모리 관리, 배열 안전성 및 빠른 컴파일입니다.
Go 언어는 C에 가까운 실행 성능, 분석에 가까운 언어 개발 효율성, 완벽에 가까운 컴파일 속도로 전 세계적으로 인기를 얻었습니다. 많은 사람들이 Go 언어를 21세기 C 언어라고 부릅니다. 왜냐하면 Go는 C의 단순성과 성능을 가질 뿐만 아니라 다중 프로세서 시스템 애플리케이션의 프로그래밍에 최적화되어 있고 서버 측 개발을 위한 좋은 솔루션을 제공하기 때문입니다. 21세기 인터넷 환경에서 다양한 실용적 기능을 제공합니다.
이 행사는 2007년 9월 C++ 위원회가 Google에서 C++ 언어에 추가된 35가지 새로운 기능에 관해 공유 연설을 하던 중 시작되었습니다.
Google의 기술 전문가들도 강의를 경청하고 있습니다. 그 중에는 Go 언어의 창시자 세 분, 즉 Robert Griesemer, Rob Pike, Ken Thompson도 있습니다.
Rob Pike(롭 파이크)
Rob Pike는 Unix의 선구자입니다. 그는 Ken Thompson과 Dennis M. Ritche(C 언어의 아버지)와 함께 Bell Labs에서 최초로 Unix를 개발했습니다. ) UTF-8의 디자이너 Mengren. 놀라운 점은 Robber가 1980년 올림픽 양궁 은메달리스트이기도 했다는 점입니다.
Ken Thompson (Ken. Thompson)
C언어의 전신이자 B언어의 창시자인 Ken Thompson과 데니스 리치(Dennis Ritchie)는 유닉스의 창시자이다. 1983년 튜링상(Turing Award), 1998년 국가 기술 메달(National Medal of Technology)을 수상했습니다.
Robert Griesemer
는 Java의 HotSpot 컴파일러와 Chrome 브라우저의 Javascript 검색 엔진 V8 제작에 참여했습니다.
회의가 쉬는 시간이 되자 모든 사람들은 이러한 C++ 언어의 새로운 기능이 더 많은 가치를 가져오는지에 대해 불평하기 시작했습니다. Rob Pike는 다음과 같이 믿습니다. 언어를 단순화하는 성과는 기능을 추가하는 것보다 훨씬 큽니다. 그 결과, 이 아이디어를 바탕으로 새로운 언어인 Go가 등장했습니다.
2007년 9월 25일, Rob Pike는 집으로 가는 길에 새로운 언어 이름에 대한 영감을 얻어 다른 두 사람에게 이메일을 보냈습니다.
이메일의 주요 내용은 다음과 같습니다.
운전 중 집에 가는 길에 영감을 얻었어요.
1. 이 프로그래밍 언어의 이름을 "go"로 지정하면 짧고 작성하기 쉽습니다. 도구 클래스 이름은 goc, gol, goa로 지정할 수 있습니다.
대화형 디버깅 도구의 이름을 직접 "go"로 지정할 수도 있습니다. 언어 파일의 접미사는 .go 등입니다.
이것이 Go 언어의 이름의 유래입니다. 이후 Robert, Rob, Ken은 Google 내에서 연구 개발을 시작하여 2009년까지 Go가 공식적으로 사용되었습니다. 오픈소스, 그리고 Go 프로젝트 팀에서는 언어가 공식적으로 오픈소스로 공개된 날인 2009년 11월 10일을 Go 프로젝트의 공식 생일로 간주합니다. 소스 코드는 처음에는 http://code.google.com에서 호스팅되었으며 향후 몇 년에 걸쳐 점차적으로 GitHub로 이동되었습니다.
Go 1.0 — 2012년 3월: 기존 프로그램을 중단하지 않고 향후 릴리스와의 호환성을 보장하는 호환성 문서가 포함된 Go의 첫 번째 버전입니다.
Go 1.1 — 2013년 5월: 이 Go 버전은 언어(컴파일러, gc, map, go 스케줄러) 최적화 및 성능 향상에 중점을 둡니다.
Go 1.3 — 2014년 6월: 이 버전은 스택 관리에 중요한 개선 사항을 제공합니다. 스택은 [연속 메모리 세그먼트를 적용하여 할당 효율성을 향상
Go 1.4 - 2014년 12월: 이 버전은 Android에 대한 공식 지원을 제공하므로 Go 코드만 사용하여 간단한 Android 프로그램을 작성할 수 있습니다.
Go 1.7 — 2016년 8월: 이 버전은 사용자에게 시간 초과 및 작업 취소를 처리하는 방법을 제공하는 컨텍스트 패키지를 출시했습니다.
Go 1.11 — 2018년 8월: Go 1.11은 중요한 새로운 기능인 Go 모듈을 제공합니다.
Go
Go 언어를 사용하는 대규모 인터넷 회사 Go의 장점은 메시지 푸시, 모니터링, 컨테이너 등과 같은 네트워크 동시성 서비스 개발에 적합하다는 것입니다. 따라서 대부분의 회사에서는 동시성이 높은 프로젝트의 개발 언어로 Golang을 우선시할 것입니다. 또 다른 응용 프로그램은 일부 Python, PHP 또는 Java 프로젝트를 리팩터링하는 것입니다. [관련 추천: Go 동영상 튜토리얼]
프로그래밍 언어는 컴퓨터를 제어하는 데 사용되는 일련의 명령어(Instruction)입니다. 고정된 형식과 어휘가 있습니다(프로그래밍 언어마다 형식과 어휘가 다릅니다). 우리 중국인이 서로 의사소통하려면 중국어가 필요하고, 영국인이 서로 의사소통하려면 영어가 필요한 것처럼, 사람과 컴퓨터 사이의 의사소통에는 매체로서의 언어, 즉 프로그래밍 언어가 필요합니다.
프로그래밍 언어의 발전은 기계어(명령체계) => 어셈블리어 => 고급언어(C, java, Go
등)를 거쳐왔습니다. C、java、Go
等)。
010010101001-》ADD
计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式分为编译和解释两种。由此高级语言也分为编译型语言和解释型语言。
使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。
编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe
格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe
컴파일된 언어와 해석된 언어🎜🎜🎜🎜컴퓨터는 고급 언어를 직접 실행할 수는 없고 고급 언어만 이해할 수 있습니다. 기계어를 직접 이해하기 때문에 고급언어로 작성된 프로그램을 컴퓨터에서 실행하려면 컴퓨터 언어, 즉 기계어로 변환해야 합니다. 이 변환 방법은 컴파일과 해석의 두 가지 유형으로 나뉩니다. 따라서 고급 언어도 컴파일 언어와 해석 언어로 구분됩니다.
- 컴퓨터는 설계에 명령어 세트(2단계 코드)를 지정합니다. 이 명령어 세트의 합계는 소위 기계 명령어 시스템으로 작성됩니다. 기계어 명령어의 형태를 기계어라고 합니다.
- 그러나 기계어로 된 수만 개의 명령어는 기억하기 어렵고, 유지보수성과 이식성이 매우 열악하기 때문에 사람들은 기계어를 기반으로 대신 문자와 십진수를 사용하는 것을 제안해 왔습니다. 그 결과 기계어를 상징하는 어셈블리어가 탄생하게 되었다.
- 어셈블리 언어는 기계어보다 훨씬 간단하지만, 어셈블리 언어는 기계 명령어를 상징하며 학습이든 개발이든 여전히 매우 어렵습니다. 따라서 인간의 언어에 더 가깝고 이해하고 수정하기 쉬운 고급 언어가 등장했습니다. 고급 언어의 구문은 종종 여러, 수십, 심지어 수백 개의 어셈블리 언어 명령어를 대체할 수 있습니다. 따라서 고급 언어는 배우기 쉽고 사용하기 쉽고 활용도가 높으며 널리 사용됩니다.
🎜🎜🎜🎜특수 컴파일러를 사용하여 고급 언어 소스 코드를 특정 언어에 대해 한 번에 플랫폼 하드웨어에서 실행할 수 있는 기계어 코드로 컴파일합니다. platform. 플랫폼에서 인식하는 실행 가능한 프로그램 형식으로 패키지됩니다. 🎜🎜컴파일된 언어로 작성된 프로그램을 실행하기 전에, 향후 실행 시 소스코드를
- 컴파일된 언어
exe
형식의 파일과 같은 기계어 파일로 컴파일하는 특별한 컴파일 과정이 필요합니다. , 컴파일러를 직접 사용exe
파일을 직접 실행하는 등 결과는 충분합니다. 한 번만 컴파일하면 되고 나중에 실행할 때 컴파일할 필요가 없기 때문에 컴파일된 언어는 실행 효율성이 높습니다. 🎜🎜🎜1. 플랫폼 관련 기계어 파일로 한번에 컴파일되며, 실행 시 개발 환경과 분리되어 운영 효율성이 높습니다. 🎜🎜2. 다른 플랫폼으로 🎜
전문적인 인터프리터를 사용하여 소스 프로그램을 한 줄씩 특정 플랫폼에 맞는 기계어 코드로 해석하고 즉시 실행합니다. 코드는 실행 전에 번역되는 것이 아니라 실행 시 인터프리터에 의해 한 줄씩 동적으로 번역되어 실행됩니다.
1. 해석된 언어가 실행될 때마다 소스 코드를 기계어 코드로 해석하여 실행해야 하므로 실행 효율성이 낮습니다.
2. 실행되므로 소스 프로그램을 편리하게 사용할 수 있습니다. 이식
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !
위 내용은 골랑이 뭐야?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!