• 회원가입
  • 로그인
  • 구글아이디로 로그인

GO - Arrays (고랭 배열)

941  
목차
  1. Array 정의
  2. Array 선언 구문
  3. Array 요소 접근
  4. Array 요소 변경
  5. Array 초기화
  6. Array 특정 요소만 초기화
  7. Array 길이 - len() 함수
  8. 복습 연습문제

 

Array 정의

 

단일 변수에 관련된 여러 데이터를 한번에 저장 가능.

 

 

Array 선언 구문

 

2가지 방법으로 배열 변수 선언 가능.

 

  • 배열의 각 값은 쉼표( , )로 연결해 나열함.
  • 배열 길이는 선언 시 명시해도 되고, 안 해도 됨.
  • 배열 길이를 명시 안 할 땐 점 3개 (...) 찍음.
  • 배열 길이가 명시 안 된 경우 컴파일러가 유추함.

 


[방법1] - var 키워드로 배열 변수 선언

 

var array_name = [length]datatype{values} // 배열 길이 명시

또는,

var array_name = [...]datatype{values} // 배열 길이 유추

 


[방법2] - := 기호로 배열 변수 선언

 

array_name := [length]datatype{values} // 배열 길이 명시

또는,

array_name := [...]datatype{values} // 배열 길이 유추

 


[예제1] - 배열 길이 명시 O

 

package main

import ("fmt")


func main() {

  var arr1 = [3]int{1,2,3}

  arr2 := [4]int{4,5,6,7}


  fmt.Println(arr1) // [1 2 3]

  fmt.Println(arr2) // [4 5 6 7]

}

 


[예제2] - 배열 길이 명시 X

 

package main

import ("fmt")


func main() {

  var arr1 = [...]int{1,2,3}

  arr2 := [...]int{4,5,6,7}


  fmt.Println(arr1) // [1 2 3]

  fmt.Println(arr2) // [4 5 6 7]

}

 


[예제3] - 배열 값이 문자인 경우

 

package main

import ("fmt")


func main() {

  var langs = [3]string{"HTML", "CSS", "JS"}

  fmt.Print(langs) // [HTML CSS JS]

}

 

 

Array 요소 접근

 

  • 색인번호로 배열의 각 요소에 접근 가능. (예) array[index]
  • 색인번호는 0부터 시작. (즉, 첫 번째는 0, 두 번째는 1, ...)

 


[예제]

 

package main

import ("fmt")


func main() {

  arr := [4]int{1,2,3,4}


  fmt.Println(arr[0]) // 1

  fmt.Println(arr[2]) // 3

}

 

 

Array 요소 변경

 

색인번호 이용해 배열의 특정 요소 값을 변경 가능.

(예) array[index] = new_value

 


[예제]

 

package main

import ("fmt")


func main() {

  arrs := [4]int{1,2,3,4}


  arrs[2] = 5

  fmt.Println(arrs) // [1 2 5 4]

}

 

 

Array 초기화

 

배열 또는 배열의 일부 요소 미지정 시, 타입 기본값이 배열요소에 할당됨.

(예)

  • int 자료형 기본값: 0 
  • string 자료형 기본값: ""

 


[예제]

 

package main

import ("fmt")


func main() {

  arr1 := [5]int{} // 배열 요소 전혀 없는 경우

  arr2 := [5]int{1,2,3} // 배열 요소 일부 누락 경우

  arr3 := [5]int{1,2,3,4,5} // 배열 요소 전부 있는 경우


  fmt.Println(arr1) // [0 0 0 0 0]

  fmt.Println(arr2) // [1 2 3 0 0]

  fmt.Println(arr3) // [1 2 3 4 5]

}

 

PS. 주의

아래처럼 배열의 중간 요소가 누락 시, 초기값 지정 안 되고 에러 발생.

arr3 := [5]int{1,2,,,5} // 에러 유발

 

Array 특정 요소만 초기화

 

배열의 지정 색인번호에만 값 지정 후, 나머지 색인번호 모두 초기화 가능.

(예) index0:value0, index3:value3



[예제] 색인번호 2번째와 3번째를 제외한 나머지는 int형 기본값 0 할당

 

package main

import ("fmt")


func main() {

  arr1 := [5]int{1:10,2:20}

  fmt.Println(arr1) // [0 10 20 0 0]

}

 

 

Array 길이 - len() 함수

 

len(arrary) // 배열 길이 (= 배열 크기 = 배열 요소 개수)

 


[예제]

 

package main

import ("fmt")


func main() {

  arr1 := [3]string{"HTML", "CSS", "JS"}

  arr2 := [...]int{1,2,3,4,5}


  fmt.Println(len(arr1)) // 3

  fmt.Println(len(arr2)) // 5

}

 

 

복습 연습문제

[문제] - hz라는 배열 생성 후, string 자료형 지정하기

 

package main   

import ("fmt") 


func main() {

  var hz  = [3]string{"홈짱닷컴", "Homzzang.com", "코딩강의"}

  fmt.Print(hz)

}

 

 


제목
GO - Home (고랭 입문)
GO - Intro (고랭 소개)
GO - Start (고랭 시작)
GO - Syntax (고랭 구문)
GO - Comments (고랭 주석)
GO - Variables (고랭 변수)
GO - Constants (고랭 상수)
GO - Output (고랭 출력)
GO - Data Types (고랭 데이터타입) - 자료형
GO - Arrays (고랭 배열)
GO - Slices (고랭 슬라이스)
GO - Operators (고랭 연산자)
GO - Conditions (고랭 IF조건문)
GO - switch (고랭 스위치조건문)
GO - For Loops (고랭 FOR반복문)
GO - Functions (고랭 함수)
GO - Maps (고랭 맵)
목록
찾아주셔서 감사합니다. Since 2012