Go (Golang) 프로그래밍 언어

Go (또는 golang )는 Robert Griesemer, Rob Pike, Ken Thompson이 2007 년 Google에서 만든 프로그래밍 언어입니다. Algol과 C의 전통에 따라 컴파일되고 정적으로 형식화 된 언어입니다.

Go에는 가비지 수집, 제한된 구조적 유형, 메모리 안전성 및 CSP 스타일 동시 프로그래밍 기능이 추가되었습니다. 원래 Google에서 개발 한 컴파일러 및 기타 언어 도구는 모두 무료이며 오픈 소스입니다.

바둑의 인기는 빠르게 증가하고 있습니다. 웹 응용 프로그램을 구축하는 데 적합합니다.

자세한 내용은 Go 홈페이지를 참조하세요. Go에 대한 빠른 둘러보기를 원하십니까? 여기에서 문서를 확인하세요.

이제 Go를 설치하고 시작하는 방법을 살펴 보겠습니다.

설치

Homebrew로 Golang을 설치합니다.

$ brew update $ brew install golang

tarball을 사용하여 MacOS에 Go 설치

tarball에 연결

golang 다운로드 페이지의 Latest Stable 섹션에서 MacOS tarball 아카이브에 대한 링크를 얻을 수 있습니다.

설치 과정

이 설치 과정에서 우리는이 글을 쓰는 시점에서 안정된 최신 버전을 사용할 것입니다 (go 1.9.1). 최신 또는 이전 버전의 경우 첫 번째 단계에서 링크를 교체하기 만하면됩니다. 현재 사용 가능한 버전을 보려면 golang 다운로드 페이지를 확인하십시오.

Go 1.9.1 설치
$ curl -O //storage.googleapis.com/golang/go1.9.1.darwin-amd64.tar.gz $ sudo tar -C /usr/local -xzf go1.9.1.darwin-amd64.tar.gz $ export PATH=$PATH:/usr/local/go/bin

apt로 Ubuntu에 Golang 설치

Ubuntu의 소스 패키지 관리자 (apt)를 사용하는 것은 Go를 설치하는 가장 쉬운 방법 중 하나입니다. 안정된 최신 버전을 얻을 수는 없지만 학습 목적으로는이 정도면 충분합니다.

$ sudo apt-get update $ sudo apt-get install golang-go

Go의 설치 및 버전 확인

go가 성공적으로 설치되었는지 확인하려면 다음을 실행하십시오.

$ go version > go version go1.9.1 linux/amd64

콘솔에 설치된 Go 버전이 인쇄됩니다. Go 버전이 표시되면 설치가 순조롭게 진행된 것입니다.

작업 공간 설정

환경 변수 추가 :

먼저 작업 공간의 위치를 ​​Go에 알려야합니다.

쉘 설정에 몇 가지 환경 변수를 추가 할 것입니다. 홈 디렉토리 bash_profile, bashrc 또는 .zshrc에있는 do 파일 중 하나 (Oh My Zsh Army 용)

$ vi .bashrc

그런 다음 해당 줄을 추가하여 필요한 변수를 내 보냅니다.

이것은 실제로 .bashrc 파일입니다.

export GOPATH=$HOME/go-workspace # don't forget to change your path correctly! export GOROOT=/usr/local/opt/go/libexec export PATH=$PATH:$GOPATH/bin export PATH=$PATH:$GOROOT/bin

작업 공간 만들기

작업 공간 디렉토리 트리를 만듭니다.

$ mkdir -p $GOPATH $GOPATH/src $GOPATH/pkg $GOPATH/bin $GOPATH/src : Where your Go projects / programs are located $GOPATH/pkg : contains every package objects $GOPATH/bin : The compiled binaries home

빠른 시작

빠른 시작 및 상용구 Go 프로젝트를 보려면 Alloy를 사용해보세요.

  1. 합금 저장소 복제
git clone //github.com/olliecoleman/alloy cd alloy

2. 종속성 설치

glide install npm install

3. 개발 서버 시작

go install alloy dev

4. 웹 사이트 방문 //localhost:1212

Alloy는 Node, NPM 및 Webpack을 사용합니다.

골랑 놀이터

로컬 머신에 Go를 설치하는 방법을 배우는 것이 중요합니다. 하지만 브라우저에서 바로 Go를 플레이하고 싶다면 Go Playground가 바로 시작하기에 완벽한 샌드 박스입니다!

Just open a new browser window and go to the Playground.

Once there you’ll get the buttons:

  1. Run
  2. Format
  3. Imports
  4. Share

The Run button just sends the instructions for compiling the code you wrote to the Google servers that run the Golang back end.

The Format button implements the idiomatic formatting style of the language. You can read more about it here.

Imports just check what packages you have declared within import(). An import path is a string that uniquely identifies a package. A package’s import path corresponds to its location inside a workspace or in a remote repository (explained below). You can read more here.

With Share you get a URL where the code you just wrote is saved. This is useful when asking for help showing your code.

You can take a more in-depth Tour of Go here and learn more about the playground in the article Inside the Go Playground.

Go Maps

A map, called a dictionary in other languages, “maps” keys to values. A map is declared like this:

var m map[Key]Value

This map has no keys and no keys can be added to it. To create a map, use the make function:

m = make(map[Key]Value)

Anything can be used as a key or as a value.

Modifying maps

Here are some common action with maps.

Inserting/Changing elements

Create or change element foo in map m:

m["foo"] = bar

Getting elements

Get element with key foo in map m:

element = m["foo"]

Deleting elements

Delete element with key foo in map m:

delete(m, "foo")

Check if a key has been used

Check if key foo has been used in map m:

element, ok = m["foo"]

If ok is true, the key has been used and element holds the value at m["foo"]. If ok is false, the key has not been used and element holds its zero-values.

Map literals

You can directly create map literals:

var m = map[string]bool{ "Go": true, "JavaScript":false, } m["Go"] // true m["JavaScript"] = true // Set Javascript to true delete(m, "JavaScript") // Delete "JavaScript" key and value language, ok = m["C++"] // ok is false, language is bool's zero-value (false)

More info about Go:

  • Learn Go in 7 hours with this free video course
  • How to build a Twitter bot with Go