프론트 엔드/Go

[Go] Go 언어 프로그래밍 입문 - Go는 어떤언어 인가?

Koras02 2022. 2. 25. 02:32
728x90

1. Go 문법의 특징 

Go문법의 주요 내용은 다음과 같습니다.

  • Go 문법의 특징 
  • 변수와 상수
  • 프로그램의 기본 흐름 제어(if, switch, for)
  • 함수
  • 패키지

시작 전에 기본적인 Go 선언 방법을 알아보자.

// 1. 패키지 선언 
pacakge main

// 2.외부 패키지 임포트
import "fmt"

// 3.main 함수
func main() {
    // 4. 외부 패키지 사용
    fmt.Println("Hello World")
}

1-1. Go 의 간결함과 유연함

Go는 문법 요소를 줄이고 유연함을 높였습니다. 그렇기에 적은 문법으로도 풍부한 기능을 구현할 수 있습니다.

Go에서는 while문이 없기 때문에 for문만으로 반복을 표현할 수 있습니다. 또한 복잡한 if 문 대신에 switch문과 case에

조건식을 넣어 간결하게 표현해준다.

 

1-1.for 반복문 1

pacakge main

import "fmt"

func main() {
   sum := 0
     // for 문에서 초기화 구문, 조건식, 후속 작업을 정의할 수 있다.
     for i := 0; i < 10; i++ {
         sum += i
     }
     fmt.Println(sum)
}

실행 결과

45


1-2.for 반복문 2

pacakge main 

import "fmt"

func main() {
    sum, i := 0, 0
    
    // for문에 조건식만을 사용
    for i < 10 {
       sum += i
       i++
    }
    fmt.Println(sum)
}

실행 결과

45


1-3.for 반복문 3

pacakge main

import "fmt"

func main() {
   sum, i := 0, 0
   // for 문에 조건식 생략 
   for {
      if i >= 10 {
         break 
      }
      sum += 1
      i++
   }
   
   fmt.Println(sum)
}

실행 결과

45


1-4.switch문 case에 조건식을 사용 

package main

import "fmt"

func main() {
   c := 'a'
   switch {
     // case에 조건식 사용
     case '0' <= c && c <= '9':
        fmt.Printf("%c은(는) 숫자입니다", c)
     case 'a' <= c && c <= 'z':
        fmt.Printf("%c은(는) 소문자입니다", c)
     case 'A' <= c && c <= 'Z':
        fmt.Printf("%c은(는) 대문자입니다", c)
   }
}

실행 결과

a은(는) 소문자입니다.

 

이상으로 Go를 마쳐보겠습니다. Go 듀토리얼 이외 아래사이트에서 자세한 듀토리얼이 준비되어있으니 

참고하시면 될 것 같습니다.

 

참고자료

 

Go 언어 웹 프로그래밍 철저 입문: 2.1.2 정적 타입 언어, 동적 프로그래밍

 

thebook.io