우연히 알게 된 Go 프로그래밍 언어를 소개할까 합니다. Go는 시스템 프로그래밍을 위해서 개발 된 언어라고 합니다. 코딩의 형태를 보면 C언어 인 것 같으면서도 Java 느낌의 코딩이 이루어지는데 찾아보니깐 C++의 컴파일 형태와 Statically Type의 언어의 특징과 Java의 Garbage Collection 기능을 제공한다고 하네요. 대충 C와 Java의 느낌을 합쳐놓은 짬뽕 언어라고 생각하면 될 듯 싶네요. 그럼 간단히 살펴보도록 하죠.
Go 홈페이지에서 다운 받아서 설치 해도 되지만 온라인 편집기로 간단히 테스트 할 수 있습니다. 위쪽에 있는 그림을 보시면 Try Go 부분의 편집창에서 코딩을 하시면 바로 결과를 확인 할 수 있습니다.
기본 테스트는 언어를 처음 배울 때 print문을 출력을 시키는데 Go 언어에서도 마찬가지로 한줄의 문장을 출력 해 보았습니다.
언어를 보면 뭔가 Java 같아 보이면서 C언어 같은 코딩으로 보이 실 거에요. 정상적으로 결과는 출력 되었네요. 그러면 Go 언어의 기본 문법은 어떻게 표현 되는지 살펴보도록 하죠.
예) 변수와 상수
var a int = 1
const c int = 10
const s string = "Hellow"
위 코딩을 보시면 특이한 점을 보실 수 있을 거에요. C언어에서는 자료형이 먼저 나오고 그다음에 변수명이 나오는데 이건 자료형이 뒤에 나오는 것을 c 느김은 아닌 표현이네요. 참고로 Go언어에서는 세미콜론(;)은 생략합니다.
package main
import (
"fmt"
)
func main() {
var k int = 1
if k == 1 {
fmt.Println("OK")
}
}
[결과]
OK
위 Go에서는 if문을 보시면 괄호가 사라졌습니다.
원래 C언어에서는
if(k == 1){
처리문;
}
Go 언어에서는
if k == 1 {
처리문
}
이렇게 변경되었네요.
package main
import (
"fmt"
)
func main() {
var total int = 0
var i int = 0
for i = 0; i <= 10; i++ {
total += i
}
fmt.Println(total)
}
[결과]
55
여기도 반복문은 C언어와 동일하지만 괄호가 생략 되었네요.
package main
import (
"fmt"
)
func main() {
test("hellow GO!");
}
func test(str string){
fmt.Println(str)
}
[결과]
hellow GO!
함수는 별 다를 게 없네요.
코딩을 하다보니 Java와 C의 느낌을 합쳐놓은 코딩을 하고 있다고 느껴지실 거에요. 2개의 언어를 동시에 코딩한다는 느낌이랄까 아무튼 재밌는 언어 입니다. 맛보기로 한번 해봤는데 나중에 이 언어도 제대로 공부를 해봐야겠네요.