Home

[Go] 디스커버리 Go [ 1장. 시작하기 ]

Go

디스커버리 Go 언어

날짜: 2019.04.26 13:00 ~ 14:00

Chapter1. 시작하기

목차

Go가 생산성이 좋은 이유

  • 자료형 추론 지원
  • 함수 리터럴 및 클로저를 자유 자재로 이용 가능
  • 명시적으로 인터페이스를 지정하지 않아도 인터페이스 구현이 가능하여 기존에 있던 코드를 고치지 않고도 유연한 구연이 가능
  • 채널을 이용하여 동시성 구현을 락 등을 이용하지 않고 간편하게 할 수 있으며, 언어 고유의 지원으로 교착상태나 경쟁 상태를 파악하기 쉬움
  • 컴파일 속도가 빨라서 컴파일 및 테스트를 반복적으로 수행하면서 작성하기 용이함
  • 가비지 컬렉션 지원으로 메모리 관리에 대한 부담을 덜 수 있음
  • 자료형 리터럴을 손쉽게 쓸 수 있음

세미콜론

Go 언어는 코드의 끝에 세미콜론(;)을 붙이지 않는다. 다만 Go 컴파일러가 세미콜론으로 구분된 코드를 해석한다. 따라서 너무 긴 코드를 여러 줄에 나눠서 사용할때는 주의가 필요하다.

func main()
{
  fmt.println("HELLO WORLD!")
}
// 이경우 에러가 발생
// main()뒤에게 닫는 괄호로 끝나끼 때문에
// 컴파일러는 닫는 괄호에 세미콜론을 붙여서
// 에러가 발생한다.

자료형 및 변수

다음과 같이 변수를 선언 할 수 있다.

var x int
var y string
var arr [5]int

왼쪽에 변수 이름을 쓰고, 자료형을 오른쪽에 쓰는 방식이다. Go는 환경에 int와 unint 크기가 달라 질 수 있다. ( 32비트 OR 64비트 ) 실무에서는 int64, uint64와 같이 사용해야 한다.

자료형 추론

자료형이 무엇인지 알 수 있는 경우에는 자료형을 쓰지 않아도 된다.

i := 10
x := "HELLO WORLD"
// 위 경우 변수에 어떤 자료형인지 바로 알 수 있다.

다만 자료형 추론은 함수 안에서만 사용 가능하다. 함수 밖에서는 사용 불가능.

Go파일 기본 형식

Go 언어는 일반적으로 다음과 같이 구성된다. Package main - import - func main()

package main

import "fmt"

func main() {
  helloWorld := "HELLO WORLD"
  fmt.Println(helloWorld)
}

Go는 엔트리 포인트(entry point)가 있다는 것을 잊지 말자!


해당 블로그의 일부 코드와 내용은 DISCOVERY GO 에서 인용한 것입니다.
[ISBN #978-89-6848-268-7] 한빛미디어

Loading script...