2015년 7월 20일 월요일

GO 언어 기본 문법 - 2

--------for 반복문----------

Go 언어는 반복문이 for만 있다.

for 초기값; 조건식; 변화식 {
     //여기에 반복할 코드를 작성한다.
}

if문과 마찬가지로 조건식에 ()를 사용하지 않는다.
역시 {}를 생략해서도 안된다.

for 키워드에 조건식만 설정하면 while 문과 같다.
for 조건식 {
 //여기에 반복할 코드를 작성
 //변화식도 함께 작성
}

for 문에 조건식을 설정하지 않으면 무한루프다

반복문에서 변수 여러개 사용하기

//i가 10 보다 작을 때까지 반복하면서 i는 1씩 증가, j는 2씩 증가
for i,j := 0, 0; i<10; i,j = i+1, j+2 {
   fmt.Println(i, j)
}

----switch 분기문-----

switch 변수 {case 값: 코드}

switch 변수 {
case 값1:
     //값 1일 때 실행할 코드를 작성
case 값2:
     //값 2일 때 실행할 코드를 작성
case 값3:
     //값 3일 때 실행할 코드를 작성
default:
    //모든 case에 해당하지 않을 때 실행할 코드 작성
}

----------배열----------

var 배열명 [길이]자료형

var a [5]int    //int형이며 길이가 5인 배열 선언
a[2] = 7        //배열의 세번째 요소에 7 대입
fmt.Println(a)  //[00700]

배열을 순회할 때는 for반복문에서 range 키워드를 사용
a:=[5]int{11,22,33,44,55}
for i, value := range a {  //i에는 인덱스, value에는 배열 요소의 값이 들어감
   fmt.Println(i, value)
}

슬라이스는 길이가 고정되어 있지 않으며 동적으로 크기가 늘어난다.
a := []int{1,2,3}
var b []int //슬라이스로 선언
b = a
b[0] = 9
fmt.Println(a) //[9,2,3]
fmt.Println(b) //[9,2,3]

------------맵----------------
맵은 키-값 형태로 자료를 저장하며 레퍼런스 타입이다
aaa := make(map[string]float32) //키는 string, 값은 float32인 맵 생성 및 공간 할당
aaa["ccc"] = 222 //맵[키]=값

range로 맵 순회
맵을 순회할 때는 for반복문에서 range 키워드를 사용

//반복문이 실행될 때마다 키와 값이 자동으로 변수에 들어감
for key, value := range aaa {
     fmt.Println(key, value)
}


댓글 없음:

댓글 쓰기