[Golang] 콘솔 출력과 입력 함수 2

이정훈·2023년 5월 22일
0

Golang

목록 보기
11/24
post-thumbnail

콘솔 입력 함수(Scan)

  • Scanln, Scan, Scanf 함수가 있다.

Scanln

  • 공백으로 구분하여 입력
  • 엔터 즉 개행을 하면 입력이 완료된다는 것!
  • Scanln(%num1, &num2, &num3)는 숫자 세개를 모두 입력받고(띄어쓰기로 구분) 엔터를 입력

코드

package main

import "fmt"

func main() {
	var name string
	var gen string
	var school string
	
	fmt.Print("이름, 성별, 학교를 입력하세요.")
	fmt.Scanln(&name, &gen, &school) // 만약 고길동 만 작성하면 성별과 학교이름은 공백으로 나온다!

	fmt.Println("이름은 ", name, " 성별은 ", gen, "학교는", school)
} 

출력

입력 > 고길동 남자 꾸알람루트
이름은 고길동 성별은 남자 학교는 꾸알람루트

Scan

  • 개행을 입력(엔터)하는 것 또한 데이터를 구분하는 입력 방식
  • Scan(&num1, &num2, &hum3)은 숫자를 입력할 때마다 엔터를 입력

코드

package main

import "fmt"

func main() {
	var name string
	var gen string
	var school string

	fmt.Print("이름, 성별, 학교를 입력하세요.")
	fmt.Scan(&name, &gen, &school)

	fmt.Println("이름은 ", name, " 성별은 ", gen, "학교는", school)
}

출력

입력 > 고길동
남자
꾸알람루트
이름은 고길동 설병은 남자 학교는 꾸알람루트

Scanf

  • 개발자가 만들어놓은 형식으로 입력
  • 주민번호를 입력받기 위해 Scnaf("%d-%d",&num1, &num2)으로 만들었을 때, 940101-0000000 이라고 입력하고 엔터를 입력하면 num1=940101이고, num2=0000000이 된다.

코드

package main

import "fmt"

func main() {
	var i, j int

	fmt.Print("주민등록번호를 -를 이용해 입력하세요 :")
	fmt.Scanf("%d-%d", &i, &j)

	fmt.Printf("주민등록번호는 %d-%d\n", i, j)
	fmt.Println("앞자리는", i)
	fmt.Println("뒷자리는", j)
}

출력

입력 > 123141-1231412
주민번호는 123141-1231412
앞자리는 123141
뒷자리는 1231412

한 눈에 끝내는 고랭 기초 !!

profile
싱숭생숭늉

0개의 댓글