Go의 표준 입출력은 fmt 패키지를 사용한다. package main import "fmt" func main() { var num int fmt.Scan(&num) // 입력 fmt.Print(num) // 출력 } 하지만 위와 같은 방식의 표준 입출력은 속도가 느리다. 만약 코딩 테스트를 푼다면 문제에 따라 시간 초과의 원인이 될 수도 있다. bufio Reader를 이용한 빠른 입출력 import ( "bufio" "fmt" "os" ) var reader = bufio.NewReader(os.Stdin) var writer = bufio.NewWriter(os.Stdout) func main() { defer writer.Flush() var num int fmt.Fscan(reader, &nu..
함수 Generic Go도 1.18 버전부터 Generic을 지원하기 시작했다. func 함수명[T any](n T) T {...} 함수명 뒤에 [ ]를 통해 제너릭을 선언할 수 있다. any는 모든 타입을 뜻하며, comparable은 ==, != 비교가 가능한 타입을 의미한다. 그 외 정의된 타입의 키워드(string, int...)들을 사용할 수 있다. func Power[T int | float64](n T) T { return n * n } |(OR)을 이용해 여러 타입을 작성할 수 있다. type Number interface { int | int16 | int32 | int64 | float32 | float64 } func Power[T Number](n T) T { return n * n..