[Go] #2.1 콘솔 출력 함수의 기본
강의 링크 : 한 눈에 끝내는 고랭 기초 #2 변수와 상수 - 콘솔 출력 함수의 기본
1. 콘솔 출력 함수의 기본
Go
에서의 콘솔 출력 함수에 대해서 알아보자.
C++
의 경우 cout
에 해당하는 것으로, 주로 다음의 함수를 사용한다.
I. print, println
print()
println()
굉장히 익숙한 함수다.
처음 C
언어를 배울때가 생각난다 …
예상했듯이 print
와 println
의 차이는 개행 유무다.
print
함수는 개행을 하지 않기 때문에, 개행을 하려면 마찬가지로 익숙한 이스케이프 시퀀스인 \n
을 사용해야 한다.
기본적인 함수 사용 형태는 다음과 같다.
print(출력하고자 하는 데이터)
그리고 출력 함수는 함수 내에서의 연산 식을 결과 값으로 출력하는 것이 가능하다.
즉 다음과 같이 사용할 수 있다.
println(3+5)
아래 샘플 코드가 있다.
package main
func main() {
var num1 int = 1
var num2 int = 2
print("Hello goorm!")
print(num1)
print(num2)
print(num1 + num2)
print("Hello goorm!", num1 + num2,"\n")
println("Hello goorm!")
println(num1)
println(num2)
println(num1 + num2)
println("Hello goorm!", num1 + num2)
}
II. fmt - Print, Println, Printf
일반적으로 Go
에서의 콘솔 입출력을 위해서 fmt
패키지를 import
하는데, print
와 println
은 fmt
를 import
하지 않아도 사용 가능한 기본 출력 함수이다.
fmt
에서 제공하는 입출력 함수가 더 강력한 기능을 제공한다고 하니, 앞으로는 fmt
패키지의 함수를 사용하도록 하자.
import "fmt"
위와 같이 쌍따옴표로 감싸서 import
할 수 있다.
이제부터의 출력 함수의 사용 형태는 다음과 같다.
fmt.Print(출력하고자 하는 데이터)
무엇이 바뀌었냐 하니, print
의 앞 p
가 대문자로 바뀌었음에 주의하자.
마찬가지로 Print
뿐만이 아니라 Println
도 사용할 수 있다.
그리고 Printf
함수도 있다.
이건 서식 문자를 활용하여 원하는 포맷으로 데이터를 채워서 출력하고자 할 때 사용하며, C
언어에서의 printf
와 동일한 기능을 하는 것으로 보인다.
샘플 코드를 보며 기능을 점검해보자.
package main
import "fmt"
func main() {
var num1 int = 1
var num2 int = 2
fmt.Print("Hello goorm!", num1, num2, "\n")
fmt.Println("Hello goorm!", num1, num2)
fmt.Printf("num1의 값은:%d num2의 값은:%d\n", num1, num2)
}
- 실행 결과
그런데 뭔가 이상하다.
실행 결과가 내 예상과 다르다…
// 내 예상
Hello goorm!12
Hello goorm!12
num1의 값은:1 num2의 값은2
3번째 줄은 예상과 동일한데, 첫 번째와 두 번째 줄의 실행 결과과 예상과 다르다.
첫 번째 함수 실행 결과(Print
) ‘Hello goorm!’ 뒤에 빈 칸이 없을 거면 없고, 있을 거면 있어야 할 것 같은데 ‘1’은 바로 붙어서 오고 ‘2’는 한 칸 떨어져서 온다 …
그게 규칙인가? 싶어서 두 번째 함수 실행 결과(Println
)를 보면, 이번에는 또 둘 다 한 칸씩 띄워져 있다 …
혼란스럽다.
자세한 설명은 뒤에 나온다고 하니, 일단 넘어가보자 …