콘솔 입력 함수(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