개인공부/language

[GO] 배열 선언하기

파뱁 2024. 12. 4. 21:49
728x90

배열을 사용하면 더 다양한 요구사항을 구현할 수 있다.

오늘은 배열을 통해서 랜덤하게 그리팅 문구를 뽑아낼수 있는 함수를 작성해 볼 것이다.

 

먼저 지난번에 작성했던 greetings.go를 열어 다음 패키지를 추가한다.

 

import (
  "errors"
  "fmt"
  
  //추가한 패키지
  "math/rand"
 )

 

해당 패키지는 랜덤하게 값을 뽑을 수 있도록 해주는 패키지이다.

 

다음으로 랜덤한 포맷을 리턴해주는 함수를 추가 해보겠다.

// randomFormat returns one of a set of greeting messages. The returned
// message is selected at random.
func randomFormat() string {
    // A slice of message formats.
    formats := []string{
        "Hi, %v. Welcome!",
        "Great to see you, %v!",
        "Hail, %v! Well met!",
    }

    // Return a randomly selected message format by specifying
    // a random index for the slice of formats.
    return formats[rand.Intn(len(formats))]
}

 

해당 함수를 보면 총 세 개의 그리팅 포맷을 문자열 배열 안에 집어 넣는다.

배열을 선언하는 방식은 다음과 같은데

      >> 변수 := []자료형{배열 안에 넣을 값}

으로 선언과 동시에 배열 변수에 값을 할당 할 수 있다.

 

리턴 시에는 해당 배열 변수의 특정 위치의 값을 리턴 하도록 랜덤 값을 배열의 위치로 세팅 해서 리턴 했다.

 

(참고) 랜덤 패키지의 Intn 함수란?

[rand.Intn은 0부터 변수로 들어온 int 값 까지 중에 랜덤한 정수를 뽑아주는 함수]

 

이제 이 함수를 hello.go 에서 호출 해보겠다.

이전에 빈칸으로 호출 했던 함수에 값을 넣어주겠다.

 

message, err := greetings.Hello("")
|
V
message, err := greetings.Hello("Gladys")

 

그 다음 hello.go를 실행하면 다음과 같이 실행 때 마다 3가지 인사 법 중 하나를 랜덤으로 프린트 하게 된다.

 

$ go run .
Great to see you, Gladys!

$ go run .
Hi, Gladys. Welcome!

$ go run .
Hail, Gladys! Well met!
728x90
반응형

'개인공부 > language' 카테고리의 다른 글

[GO] 에러 핸들링 방법  (1) 2024.11.25
[GO] 로컬 패키지 호출 방법  (0) 2024.11.19
[GO] 함수 기본 작성법  (2) 2024.11.12
[GO] 모듈과 패키지  (0) 2024.11.05
[JAVA] ArrayList가 비어있는지 확인 하기  (0) 2024.02.27