어느날 IT 뉴스를 보다가 요즘엔 악성코드도 Go로 만든다고 C와 C++보다 장점이 많다고 소개하길래 알고만 있었던 Go를 공부하기로 마음먹었다. 실제로 Go를 배우기 시작하니 내가 평소 쓰던 자바와는 굉장히 다른 느낌이라서 당황하긴 했지만 실제로 많이 사용해서 적응하면 생산성이 굉장히 높아질 것 같았다.
고는 온라인에 마음껏 코드를 실험할 수 있는 주소가 있다.
Go Playground
이 주소로 들어가면 텍스트 에디터 창이 나온다.
이 텍스트 에디터를보면 Run, Format, Imports, Share 버튼들이 있는데
Run은 말그대로 코드를 실행, Format은 코드 정리, Imports는 모듈 임포트, Share는 코드 공유이다.
저기에 있는 고로 짜여진 코드를 잘 보면 세미콜론(;)이 없다.
고는 세미콜론을 써주어도 되고 안써도 된다.
고는 변수 선언이 굉장히 특이한 언어이다.
C나 C++이나 자바는
int a;
이런식으로 쓴다면, 고는
var a int
이렇게 쓴다.
고에서 배열은
var arr [5]int
이렇게 선언한다. 하지만 C나 C++은
int arr[5];
이렇게 선언하고, 자바는
int[] arr = new int[5];
이렇게 선언한다.
고에도 포인터 변수가 있는데 어떻게 선언하냐면
var p *int
이렇게 선언한다.
하지만 이렇게 자료형과 변수명을 전부 계속 쓰게되면 매우 귀찮다....
그래서 Go에는 자료형 추론이 있는데, 이는 C++의 auto와 같다.
Go의 자료형 추론
var i = 10
var p = &i
C++의 자료형 추론
auto i =10;
auto* p = &i;
또 Go를 보다보면 반복되는 var를 계속쓰게되면 힘들다... 그래서 이것까지도 생략 할 수 있다.
Go var 생략
i := 10
p := &i
이렇게 보니 굉장하다 ㅋㅋㅋ
오늘은 여기까지 하고, 내일은 조건문(if) 반복문(for, while)등을 적도록 하겠다.