[Swift/코드한줄] Print 문 프로퍼티 - separator, terminator

코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다.


코드를 짜면서 제일 많이 사용하는 함수가 무엇일까.. 하면 Print문이라고 생각하는데

그렇기 때문에 Print 함수의 공식 문서를 참고해본 사람은 드문 거 같다

print 함수 == 출력 함수로 누구나 알고 있으니!

 

Apple Developer Documentation

 

developer.apple.com

print(”Hello World”) 로 주로 사용하기 때문에

우리는 func print(_ item: Any) 의 형태라고 생각하겠지만..

사실 print문의 정의는

func print(_ items: Any..., separator: String = " ", terminator: String = "\n")

separatorterminator Parameter가 있는 걸 알 수 있다

기본값이 지정이 되어있었기 때문에 우리가 입력해주지 않아도 잘 굴러갔던 것 ~

 

separator

  • A string to print between each item. The default is a single space (" ").
  • 각 item 사이에 입력할 string 값. 기본 값은 “ “ 공백
    • print(1,2,3,4,5) → 1 2 3 4 5
    • print(1,2,3,4,5, separator: “ and “) → 1 and 2 and 3 and 4 and 5*

terminator

  • The string to print after all items have been printed. The default is a newline ("\n").
  • 모든 item을 출력한 후에 출력할 string 값. 기본 값은 “\n” 엔터(newline)값
  • 만약 모든 item을 출력한 후에 “끝이다" 라고 쓰고 싶다면?
    • print(1,2,3,4,5, terminator: “ 끝이다") → 1 2 3 4 5 끝이다
  • for문에서 사용해보기
    • 만약 엔터로 구분하지 않고 한 줄에 다 출력하고 싶다면 print(n, terminator = “”) 로 작성
    • 여기서 만약 내가 i번째라고 문구를 입력하고 싶다면 print(”\(n)번째")라고 적어도 되지만 print(n, terminator = “번째\n”)이라고 적어도 같다
      • 엇? print(n, separator: “번째\n”)도 똑같은 거 아닌가여?
      • 하지만 출력해보면 번째는 나오지 않고 숫자만 나오게 됨. 왜냐면 separator의 정의는 각 item 사이에 넣는 것인데, 여기서 item은 i 하나이고 for문으로 여러 개의 print문이 출력되는 것이기 때문에 5개의 print문은 서로 관계가 없는 item이므로 item이 print문당 1개이기 때문에 각 아이템 사이에 넣는 spearator의 string은 출력되지 않는 것
      • for i in 1...5 { print(i, separator: "번째\n") } -> 출력 결과 : 1 2 3 4 5
      • for i in 1...5 { print(n) }  -> 출력 결과 : 1 2 3 4 5

 

Print문에도 property가 있다 ~!

따봉 프린트문아 고마워

2022년 5월 6일 코드한줄🍎 끗 -_-]