Go 프로그래밍 언어에는 반복문이 for 하나 밖에 없다고 한다. 진짜인 것 같다.

 

일단 아래와 같은 형식으로 뭘 작성하는 것은 어차피 무리다. 그래도 ' 따옴표가 아니라 ` 임을 기억하자.

반복문

package main

import "fmt"

func main() {
	fmt.Println(`
	1
	2
	3
	4
	5
	6
	7
	8
	9
	10`)
}

이렇게 출력도 가능은 하다.

 

for문을 이렇게 써본다. for라는 이름에 비하면 뭔가 많이 생략되어 있는 느낌이다. 약간 while 문 같다. 1부터 10까지 합산하는데 문법이 for만 붙어있지 while 같고, { } 이 브라켓은 C언어 같다. 파이썬 처럼 : 콜론 이걸 써야 할 것만 같다.

package main

import "fmt"

func main() {
	i := 0
	sum := 0
	for i < 10 {
		i++
		sum += i
		fmt.Println(sum)
	}
}

* 아래에 보이는 것은 그나마 C의 모습처럼 보이는데 (  ) 괄호가 없다... 이것은 파이썬과 C언어를 섞어 놓은 모습이다.

 

암튼 너무 과거 문법에 집착하지 말고 있는 그대로 바라보면 i 는 0 으로 초기화 조건식 검사하고 for 문 코드블록을 수행한다. 마지막에 증감 연산 ++ 하고 다시 검사하는 과정을 i가 10이 될때까지 한다. 괄호 ( ) 와 { } 에서 어색한 느낌이 난다. 여기서도 C와 파이썬을 섞어 놓은 것 같다. 

package main

import "fmt"

func main() {

	for i := 0; i < 10; i++ {
		fmt.Print(i, ", ")
	}
}

조건문

 

* 아래는 조건문이다. 짝수가 아닐때는 가만히 있는 조건이니 짝수만 출력하라는 조건식이다. if 문은 조건식은 괄호를 벗어던진 파이썬 스타일이고 { } 괄호가 있는 것으로 봐서는 C 계열이다. 그리고 중요한 것은 들여쓰기(indentation) 이다. 들여쓰기는 생각보다 성가시다. 파이썬을 오래 다뤄봤다면 어렵지 않을 것이다. 10에 도달하면 한번 다음줄로 내려준다. 줄을 맞추는 것은 다 모양을 위해서이다.

package main

import "fmt"

func main() {

	for i := 1; i <= 100; i++ {
		if i%2 != 0 {
		} else {
			fmt.Print(i, ", ")
		}

		if i%10 == 0 {
			fmt.Println()
		}
	}
}

 

if else 문도 있고 다음처럼 else if 문도 있다.

 

package main

import "fmt"

func main() {
	i := 3
	if i == 0 {
		fmt.Println("영")
	} else if i == 1 {
		fmt.Println("일")
	} else if i == 2 {
		fmt.Println("이")
	} else if i == 3 {
		fmt.Println("삼")
	} else if i == 4 {
		fmt.Println("사")
	} else if i == 5 {
		fmt.Println("오")
	}
}

 

위의 if문이 복잡해 보이니까 아래처럼 switch case 문을 사용할 수 있다. 맞다. switch는 별로 잘 사용안한다. whlie문은 지워도 이건 남겨둿네 ;;;

package main

import "fmt"

func main() {
	fmt.Println("숫자를 입력하시오")
	var i int32
	fmt.Scanf("%d", &i)
	switch i {
	case 0:
		fmt.Println("영")
	case 1:
		fmt.Println("일")
	case 2:
		fmt.Println("이")
	case 3:
		fmt.Println("삼")
	case 4:
		fmt.Println("사")
	case 5:
		fmt.Println("오")
	default:
		fmt.Println("알 수 없는 숫자")
	}
}

 

조건문과 반복문이 하나밖에 없어서 뭔가 허무하다. switch case는 있어도 잘 않쓰니까... Go의 문법을 보니까 그동안 컴퓨터 프로그래밍을 너무 진지하게 받아들이고 살지 않았나 싶다.

 

컴퓨터는 컴퓨터의 일을 할 뿐이고 사람은 사람의 일을 할 뿐이다. 무엇이든 지나친 기대와 과도한 관심은 독이 될 수 있다.

 

 

*이 포스트의 소스코드는 아래 문서를 참고 CC BY 3.0 에 따라 작성되었다. 저자 Caleb Doxsey 로 이제 인터넷으로 무료 배포한다.

 

 

Go 프로그래밍 입문

 

codingnuri.com

 

 

An Introduction to Programming in Go | Go Resources

Installers I no longer maintain installers here. For instructions on how to get a text editor and go installed see the Machine Setup guide. The Book An Introduction to Programming in Go. Copyright © 2012 by Caleb Doxsey ISBN: 978-1478355823 This book is n

www.golang-book.com

 

공유하기

facebook twitter kakaoTalk kakaostory naver band