1. 통합 개발 환경 사용하기


Go 언어는 딱히 통합 개발 환경(Integrated Development Environment, IDE)이 없어도 텍스트 편집기와 컴파일러만으로도 개발이 가능합니다.

하지만  통합 개발 환경(Integrated Development Environment, IDE)을 사용하면 좀 더 편하게 개발이 가능합니다.


이 강의에서는 LiteIDE를 이용 할 겁니다.

이 IDE는 여러 GO 언어 IDE에서 가볍기 때문에 이 녀석으로 선택하였습니다.

 

이 IDE에 대해 소개하자면,

꾸준히 지속적으로 업데이트를 하고 있으며 리눅스, MAC OS X, Windows를 모두 지원합니다.

설치 방법은 LiteIDE 홈페이지에서 압축 파일을 받은 뒤에 압축 해제를 하여 실행 파일을 실행하면 됩니다.


◎ 공식 웹 사이트 주소 : https://code.google.com/p/golangide/

◎ 다운로드 및 설치 : https://code.google.com/p/golangide/wiki/liteidex



1-1. LiteIDE 설치&실행하기


다운로드 페이지에 정상적으로 접속하였다면 아래와 같은 페이지를 보실 수 있습니다.

자신의 OS에 맞게 설치를 하시면 됩니다.



받은 파일을 압축을 잘 풀으시고 



이 녀석이 저희가 사용할 LiteIDE 입니다.

이 녀석을 실행하시면 아래와 같이 LiteIDE가 실행됩니다.




1-2. 프로젝트 생성과 Helloworld 출력하기



일단 실행을 하셨다면 프로젝트를 생성을 해보도록 하겠습니다.


File - New(Ctrl+N) - Project 또는 File 선택



OK 버튼을 통해 생성을 해줍니다.



잠깐 여기서 단축키를 소개하겠습니다.


  • Ctrl + B : 빌드
  • Ctrl + R : 빌드 및 실행(디버깅 하지 않음)
  • Ctrl + T : 테스트(?)
  • F9 : BP 설정 및 해제
  • F5 : 디버깅 시작 및 계속(Continue)
  • Shift + F5 : 디버깅 중지



넵, Ctrl + R 로 빌드 및 실행을 하였습니다.

아래의 Build Output에 Hello World! 를 띄우면서 

왼쪽에 있는 폴더에 Helloworld.exe 가 빌드가 된 것을 볼 수 있습니다.


Go 언어는 모든 부분이 패키지로 구성되어 있습니다.

따라서 다음과 같이 소스 코드의 맨 위에 패키지 설정이 들어갑니다.

Go 언어로 작성한 프로그램은 main 패키지부터 실행됩니다.



import는 패키지를 사용하는 키워드입니다.

여기서 문자열을 출력하기 위해 fmt 패키지를 사용합니다



Go 언어는 모든 언어와 마찬가지main 함수부터 시작합니다.

그리고 fmt 패키지Println 함수를 이용하여 Hello World! 문자열을 출력합니다.




1-3. 에러 해결 방법



처음 빌드를 할 때나 디버깅을 할 때 에러가 나올 수가 있습니다.


Error: process failed to start.

의 에러가 나타난다면.


View - Edit Environment 



GOROOT= 의 경로가 자신이 Go 를 설치한 경로가 맞는 지 확인하셔야 됩니다.


자신이 설치한 경로가 맞게 설정된 후에 다시 빌드를 하시면 성공적으로 되는 것을 보실 수 있습니다.



2. Go언어 문법 알아보기.



Go 언어는 파이썬과 같이 일부 문법의 작성 스타일을 강제로 하고 있습니다.

대표적으로 들여쓰기와 중괄호 표기 방법입니다.


하지만 이러한 작성 스타일을 강제로 하게 된다면 여러 사람과 협업을 할 때

코드가 일관성 있게 보이기 때문에 가독성이 높아지는 장점이 있습니다.


다른 언어들은 통일된 작성 규칙이 없기 때문에 같은 언어라도 작성하는 사람에 따라 전혀 다른 스타일의 코드가 나오게 됩니다.

바로 아래와 같은 현상이 일어납니다... (OMG...)



무려 이러한 스타일들로 몇몇 프로그래머 분들은 나의 코딩 스타일이 가독성이 끝내준다구!

하면서 다툼도 일어나기도 합니다... (거짓말이 아닌 진짜입니다... 이런! 전투민족들!)


따라서 스타일이 다르면 가독성이 떨어져 코드를 읽고 쉽게 이해하기가 힘이 들게 됩니다.


파이썬은 들여쓰기를 문법으로 강제로 하기 때문에 각 개발자의 취향이 덜 드러나고, 코드가 일관성이 있습니다.

Go 언어도 파이썬처럼 문법 스타일을 강제로 합니다.

그리고 컴파일러와는 별도로 문법 스타일을 자동으로 맞춰주는 편리한 녀석이 있습니다.


바로 gofmt 명령입니다.

이 명령은 소스 파일의 내용을 정렬하여 표준 출력으로 보여줍니다.

중괄호, 들여쓰기를 자동으로 표준에 맞게 출력을 해주죠!

매우 편리한 녀석입니다.



2-1. 깊게 알아 보자



Go 언어는 문법이 조금 독특합니다.

C언어 기반 언어라 C언어와 조금 비슷하여 C언어 냄새를 내뿜지만, Go 언어만의 냄새도 풍기고 있습니다.


첫 번째로 세미클론(';')입니다.


여러 언어에서는 구문이 끝날 때 뒤에 세미클론(';')을 붙여야만 합니다.

하지만 Go 언어에서는 보통 구문 마지막의 세미클론(';')을 생략합니다.



다음과 같이 한 줄에 여러 구문을 사용할 경우에만 세미클론(';')으로 구분하면 됩니다.



보통 이러한 코드 스타일을 사용하질 않으면 gofmt 명령을 사용하면 자동으로 여러 줄로 바꿔줍니다.

LiteIDE 에서 빌드를 하면 자동으로 여러 줄로 바꿔집니다


두 번째는 중괄호입니다.


Go 언어는 중괄호는 아래와 같이 구문의 바로 뒤에 위치합니다.



아래와 같이 하면 틀린 문법이 되는 겁니다.

Go 언어는 컴파일 할 때 줄의 마지막에 세미클론(';')을 자동으로 붙입니다.

따라서 중괄호를 새 줄부터 시작하면 앞 줄의 마지막에 세미클론(';')이 붙게 되서 에러가 납니다.


if 1==1; 이런 식으로 돼서 에러가 나게 된다는 겁니다.



넵...이렇게 노하십니다.

빨간 글씨로 말이죠.


세 번째는 들여쓰기입니다.


Go 언어는 들여쓰기에 탭(TAB)을 사용합니다.

스페이스 바로 들여쓰기를 했더라도 gofmt 명령으로 소스를 정렬하면 모두 탭으로 변경됩니다.

gofmt 만세!


네 번째로는 주석입니다.


코드에 소설을 작성하시고 싶으실 때나 코드의 역할에 대해 잊어먹지 않으려고 간단히 작성할 때 사용하는 주석.


주석은 다른 언어들과 큰 차이가 없습니다.

아래의 이미지처럼 시를 작성할 수도 있고 코드의 역활에 대해 잊어먹지 않으려고 간단히 쓸 수도 있습니다.



주석에는 한 줄 주석과 범위 주석 두 가지가 있습니다.


이 녀석들이 한 줄 주석이며,



이 녀석들이 범위 주석입니다.



범위 주석은 한줄에서 일부분만 주석으로 만들 수 있으며 여러 줄을 주석으로 만들 수 있습니다.



2-2. 수식 계산



이번에는 간단한 수식 계산식을 통해 결과를 확인해보도록 하겠습니다.

우선 이 부분에 대해서는 초등학교 수학을 배우셨다면 쉽게 이해할 수 있는 부분입니다.


먼저 하기에 앞서 Go 언어의 연산자 우선 순위 표를 보도록 하겠습니다.


 우선 순위

 연산자

 5

 * / % << >> & &^

 4

 + - | ^|

 3

 == != < <= > >=

 2

 &&

 1

 ||


연산자 우선순위는 수학시간에 배운 내용과 비슷합니다.
식에 곱샘과 덧샘이 있다면 곱샘부터 계산한 뒤에 덧샘을 계산합니다.

Go 언어에서는 연산자들이 있을 때 왼쪽에서 오른쪽으로 계산을 하며, 연산자들은 위의 표의 우선순위가 있으며 숫자가 높을 수록 먼저 계산합니다.



넵, 코드에서 위에서부터 더하기, 빼기, 나누기, 곱하기, 나머지입니다.


아래의 표는 연산자들 입니다.


 연산자

 예시

 설명

 +

 a + b 

 a 와 b를 서로 더합니다.

 -

 a - b

 a 와 b를 서로 뺍니다.

 *

 a * b

 a 와 b를 서로 곱합니다.

 /

 a / b

 a 와 b를 서로 나눕니다.

 %

 a % b

 a 와 b를 나눈 나머지 값을 가져옵니다.


다음 편에서는 Go 언어의 변수에 대해 알아보도록 하겠습니다.



+ Recent posts