 안녕하세요. 개발자 모도리입니다. 이번에 Go를 공부하게 될 계기가 생겨서 앞으로 Go에 대한 컨텐츠를 올리려고 합니다. 저는 언어를 공부할 때 개념도 중요하지만 우선 개발 환경 구축은 한 후에 뭔가를 시작하자라는 마인드로 시작을 합니다. 그래서 이번에는 개발 환경 구축 및 Hello World 프로그램을 짜서 실행하는 것까지 해 보겠습니다. # Go 설치 우선 Go 컴파일, 실행을 위해 Go를 설치 합니다. ### Golang 다운로드 * https://golang.org/ 에 접속하면 Go의 마스코트 귀여운 땅 다람쥐 Go gopher가 맞이해 줍니다.  * 다운로드 버튼을 누르면 다양한 버전을 다운받을 수 있는 페이지가 나옵니다.  * 현재는 1.11 이 stable 버전입니다. 그 중에서 Apple macOS 버전을 다운 받습니다. ### 설치 * go1.11.darwin-amd64.pkg 파일을 실행하여 설치를 시작합니다.  * 특별한 설정 없이 **계속** 버튼을 눌러주면 설치가 완료됩니다.  ### 설치 확인 `go` `go env` `go version`  ### Go workspace 설정하기 * workspace로 사용할 경로 생성 저는 홈 디렉토리 밑에 dev/go라는 디렉토리를 생성하여 workspace 로 사용하려고 합니다. `mkdir /Users/modolee/dev/go` * GOPATH 환경 변수 지정 * .bash_profile 파일에 환경 변수를 추가합니다. `vi ~/.bash_profile` * 아래 내용을 가장 밑에 추가해 주세요. (조금 아까 위에서 생성한 위치를 지정해야 합니다.) ``` export GOPATH="/Users/modolee/dev/go" export PATH="$GOPATH:$PATH" ``` # Atom 설치 코드 작성을 도와줄 Atom 에디터를 설치해 보겠습니다. ### Atom 다운로드 * https://atom.io/ 에 접속합니다. * 현재 버전은 1.30.0 버전입니다. * Download 버튼을 눌러서 파일을 다운 받습니다.  ### 설치 * 다운 받은 **atom-mac.zip** 파일의 압축을 해제합니다.  * 압축을 풀면 Atom 이라는 녹색의 실행 파일이 나오는데, 이것을 왼쪽에 있는 응용프로그램으로 드래그 앤 드랍합니다.   ### 실행 * 응용프로그램에서 Atom을 찾아 실행합니다.  ### 플러그인 설치 실행하면 Welcome Guide 창이 뜨고 오른쪽에 여러 버튼이 있는데 그 중에서 **Install a Package** 버튼을 누르고 **Open Installer** 버튼을 누릅니다.  * 검색 창에 아래 3가지 플러그인을 검색하고 설치합니다. * go-plus : Go 개발 시 편리한 기능들 (코드 색칠, 자동 완성, 사용법 안내 등등) 제공  * platformio-ide-terminal : Atom 에디터 내에서 terminal 창 실행  * script : Atom 에디터 내에서 각종 프로그래밍 언어 실행  # 프로젝트 생성 * **File - Open** 또는 **File - Add Project Folder** 를 클릭한 후 프로젝트 생성을 원하는 위치를 지정합니다.  * Go 프로젝트는 기본적으로 bin, pkg, src 폴더 구조로 구성된다고 하네요.  * bin : 소스파일 컴파일 후 운영체제 별 실행 파일이 저장되는 곳 * pkg : 프로젝트에 필요한 패키지가 컴파일되어 라이브러리 파일로 저장되는 곳 * src : 직접 작성한 코드 및 오픈소스 파일들을 저장하는 곳 # 프로그램 작성 * src 폴더에서 우클릭하여 **New File**을 실행하여 **hello.go** 파일을 만듭니다.  * Hello World를 출력하는 프로그램을 작성합니다. ``` package main import "fmt" func main() { fmt.Println("Hello World!") } ``` # 실행 * 왼쪽 밑에 있는 **+** 버튼을 눌러서 아까 설치한 terminal 플러그인을 실행합니다.  * 터미널 창이 생겨납니다.  * 실행 명령을 입력합니다. `go run src/hello.go` 아래와 같은 에러가 발생하시는 분들도 계시고, 안나는 분들도 계실겁니다.  ***에러가 나는 이유는 저장을 안해서 그렇습니다. ㅋ*** * 저장하고 다시 실행하면, Hello World! 가 화면에 출력됩니다.  --- Mac 에서 Atom 에디터로 Go 개발 환경을 구축해 보았습니다. 제가 Mac 초보인지라 제가 몰랐던 세세한 부분까지 적어보려 노력했습니다. 부족한 부분이나 궁금하신 점 있으시면 편하게 댓글 남겨 주세요. 감사합니다.^^ # 참고자료 * [Go프로그래밍 - 맥(Mac) 기본 환경 설정(1)](http://niceman.tistory.com/128) * [Go프로그래밍 - 맥(Mac) 기본 환경 설정(2)](http://niceman.tistory.com/129) * [The Go Gopher (번역)](https://snowiscoming.blog.me/221241028628) * [Go 코드를 작성하는 방법](https://github.com/golang-kr/golang-doc/wiki/Go-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95)
author | modolee |
---|---|
permlink | go-mac-atom-go |
category | kr-dev |
json_metadata | {"tags":["kr-dev","kr","golang","mac","atom"],"image":["https://steemitimages.com/DQmWQDjyP5d1RNW3mkCWUkDQ6yh3uDJFUZErPpaKBwKi4gM/iron_modolee.png","https://cdn.steemitimages.com/DQmP96pFmu8pxzMwDA2tv1YtQ3wYLSgBGncT6DvUaW5wQYe/go_install_001.png","https://cdn.steemitimages.com/DQmYdbjEBFiyiWxLGxA8T3w8m7HEGF5XJdNES5a7UPBTSx9/go_install_002.png","https://cdn.steemitimages.com/DQmejLDYPQd73Utm7dSLijV1xrv1ZXZfZCJv5TE1SMFGq95/go_install_003.png","https://cdn.steemitimages.com/DQmUVEc1fhMgXPv62UGGpSE9SQcLSwTKNXTSiJXiCMbELiW/go_install_004.png","https://cdn.steemitimages.com/DQmUYRtvKWyzqyJiMsaG3DyCAXSrzsGYrLtDrhSbJmeqRxj/Sep-20-2018%2016-36-28.gif","https://cdn.steemitimages.com/DQmer1QSDaF2FWGyMYaUHbUxT55ZJYKT8dGVebD2Pavb8zE/atom_install_001.png","https://cdn.steemitimages.com/DQmS7Rf3p2cD2673dxXJfwNjtN8SqGKE2cqohAyf9dHcHa4/atom_install_003.png","https://cdn.steemitimages.com/DQmdWZzFGLYyZBQtwA74ueJZrDD4gpT6PCPitUKnZea7pCD/atom_install_004.png","https://cdn.steemitimages.com/DQmb1qRgSrJcZjGqx5gTBnRRiWswr2RSggEAVuZN3BFeeMM/atom_install_005.png","https://cdn.steemitimages.com/DQmWZEVBy429v5o3opLDZik6vYmWrwGqvpU6K1sDdcMHa98/atom_install_006.png","https://cdn.steemitimages.com/DQmWgMdmQGtcJS8mjtqFMB7H3bCXWZdXXA8yasK8uuH3C2n/atom_install_007.png","https://cdn.steemitimages.com/DQmdn8uGU5jzGv4zAmj4cbfozkKDW8BBX6F9Qtxcefbkcun/atom_install_008.png","https://cdn.steemitimages.com/DQmZEDY5xKAkHZeXHkkkSJjomsUvmwXfMJZuTTH46DYRfBj/atom_install_008_02.png","https://cdn.steemitimages.com/DQmVqi5YprPBdS5mCmaezjNSFe87uzwGQC8cXJsb84Fw4Ut/atom_install_008_01.png","https://cdn.steemitimages.com/DQmbcPR5tVqDy5DFLAHSD4JTJNgxKiWM2GhDBzLjq7oSmbX/hello_world_001.png","https://cdn.steemitimages.com/DQmWpEzdn4wPSLhUpGU26XyzCcdP7GnKnbAdoRV2WNxE1q9/hello_world_002.png","https://cdn.steemitimages.com/DQmTJTkBNZtB8TqKczZHoQ1SqFHwLg8VcFA34N256CVdwfs/hello_world_003.png","https://cdn.steemitimages.com/DQmZUe3DwywpzJnD7TkH4TZvrbyN4SeHVsa6gXVKq3r8Ycs/hello_world_004.png","https://cdn.steemitimages.com/DQmd1ATB8rE5xstMPrVJBWQJ6GWcmvUfZFpDKMpAYBpbLfF/hello_world_005.png","https://cdn.steemitimages.com/DQmTJExR7QuMtocUSQWS2PF9aSw6c6b3SynwqXGwrAp51Ld/hello_world_006.png","https://cdn.steemitimages.com/DQmZ43AVRcHRh3tUwqNacnwmcy1kPvp4u6QNJaxkPSZEqMw/hello_world_007.png"],"links":["https://golang.org/","https://atom.io/","http://niceman.tistory.com/128","http://niceman.tistory.com/129","https://snowiscoming.blog.me/221241028628","https://github.com/golang-kr/golang-doc/wiki/Go-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95"],"app":"steemit/0.1","format":"markdown"} |
created | 2018-09-20 08:35:21 |
last_update | 2018-09-22 05:05:54 |
depth | 0 |
children | 0 |
last_payout | 2018-09-27 08:35:21 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.119 HBD |
curator_payout_value | 0.034 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 5,364 |
author_reputation | 285,192,678,959 |
root_title | "[Go] Mac에서 Atom으로 Go 개발 환경 구축하기" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 71,747,124 |
net_rshares | 119,597,321,615 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
hr1 | 0 | 53,719,978,706 | 0.02% | ||
idas4you | 0 | 46,958,073,856 | 100% | ||
mishana | 0 | 12,136,439,141 | 60% | ||
ax3 | 0 | 66,994,450 | 1% | ||
fastresteem | 0 | 81,409,718 | 1% | ||
alphabot | 0 | 81,247,303 | 1% | ||
nfc | 0 | 6,553,178,441 | 1% |