본문 바로가기
GO lang

GO lang이 뭐?

by NOMADFISH 2020. 11. 25.

GO Lang

  • Go lang은 google에서 개발 중인 언어로 로버트 그리즈머, 롭 파이크, 케네스 톰슨 이 3명의 사람이 디자인한 언어로, 각각의 사람들에 대한 경력등을 찾아 보면 대단한 사람들이 라는 것을 알 수 있다.
  • C++의 복잡함이  싫어서 디자인 햇다고 한다.
  • 실재로 코드를 보면, 상당히 C++스러운 부분이 있다고 생각되지만, 어떻게 보면 자바 스크립트나, c#, java, python 각각의 여러 요소들이 굉장이 많은 부분 포함된 듯한 모양을 볼 수 있다.
  • C++에 비해서 굉장히 직관적인 코드를 보여 준다. 예약어 자체도 아주 많지 않지만, 하나의 예약어를 여러 형태로 사용가능 디자인 되어 있다.
    • 예를 들어 반복문을 보자
    • 아래 코드에서 볼 수 있는 것과 같이, 보통의 while문 처럼, 보통의 for문처럼 모두 사용이 가능하다.
for i := 1; i <= 100; i++ {
        sum += i
}

for n < 100 {
        n *= 2      
        //if n > 90 {
        //   break 
        //}     
}

for {

}
  • 위에 코드에서 보면 문법 자체는 약간 C++스럽지만, for문에는 괄호가 없이 그냥 쓰는 형태인데 마치 python을 보는 형태 같다.
  • 그렇데 Scope는 python과 다르게 {}로 표기 한다.
  • I :=1 과 같은 할당 즉시 선언문으로, 뭔가 Javascript, Python, c#등이 섞인듯한 느낌이 든다.

속도

  • 기본적으로 실행 속도는 C++에 필적하게 만든다는 목표를 가지고 있다.
  • 아래 Benchmarks사이트에서 가져온, 결과를 봐도 거의 비슷하다는 것을 알 수 있다.

다음 글부터는 기본적인 세팅과 문법에 대해서 알아 보기로 하자

'GO lang' 카테고리의 다른 글

Switch  (0) 2020.12.23
조건문 if  (0) 2020.12.18
반복문  (0) 2020.12.14
Go lang #2 변수들  (0) 2020.12.09
GO lang 설치와 실행  (0) 2020.12.02