이번 포스트에서는 golang에 문법에 대해서 작성할려고 합니다.

기본 구조

package main 

import (
    fmt
)

func init () {
  fmt.Println("초기화")
}

func main () {
  fmt.Println("Hello golang")
}

설명

  • package main
    메인 함수가 구현되어 있는 패키지
  • fun main ()
    메인 함수는 golang에서 프로그램의 진입점 역활을 수행합니다. 또한 메인함수는 package main 함수에 구현되어 있어 서 만약 패캐지를 정의 하지 않으면 빌드 도구들이 실행 파일을 만들지 못합니다.
  • fun init ()
    패키지가 로드될 때 가장 먼저 호출되는 함수입니다. 패키지의 초기화 로직이 필요할 때 사용합니다.

변수

golang에서 변수는 var 키워드를 통해서 선언을 합니다

var a int
var b string
  • 제로값
    go에서는 선언할 때 초깃값을 지정하지 않으면 제로값으로 초기화됩니다
    정수 = 0
    실수 = 0.0
    문자열 = ""
    bool = false
    배열 = 변수 타입에 따른 값으로 제로값으로 설정
    슬라이스 = nill
    포인터 = nil

또한 변수 여러개를 한번에 선언도 가능합니다. 그리고 타입을 생략할 수 도 있습니다. 타입을 생략할 수 있는 이유는
초괴화되 값을 통해서 타입을 추론해서 알아서 타입이 지정되기 때문이죠, 근데 타입을 생략할 때는 꼭 값을 초기화 해줘야합니다.

// 여러개 선언
var (
a int 
b float 
c string
)
// 타입 추론
var d = 5

그리고 golang으로 개발하면 거의 이 방식으로 타입을 선언하게 됩니다. (:=) 연산자를 이용해서 값을 선언하는 것입니다.

package main 

import fmt 

func main () {
  sum , i := 0, 0; // 이렇게 선언해서 사용하게 됩니다.
  for i < 10 {
      sum += i
    ++i
  }
  fmt.Println(sum)
}

상수

상수는 처음 선언한 이후에 변하지 않는 변수를 상수라고 합니다. go에서 상수를 사용할 때는 const 를 사용해서 선언합니다.

상수는 bool, 숫자, 문자열 타입으로만 선언할 수 있습니다!!

const A unint = 64 
const B string = "문자열"
const C bool = true

// 변수처럼 묶어서 사용할 수도 있습니다.
const (
  A = 1
  B = 2
  C = 3
)

const (
    Visa = "Visa"
    Master = "MasterCard"
    Amex = "American Express"
)

열거형

열거형은 차례로 1씩 증가하는 상수의 묶음입니다.

const (
    Apple = iota // 0
    Grape        // 1
    Orange       // 2
)

iota
상수값을 0부터 순차적으로 부여하기 위해 iota 라는 identifier를 사용할 수 있다. 이 경우 iota가 지정된 Apple에는 0이 할당되고, 나머지 상수들을 순서대로 1씩 증가된 값을 부여받는다.

여기까지 간단하게 go변수에 대해 적어봤습니다.
만약 틀린부분이 있으면 언제든지 지적 부탁드립니다.