• Q&A
  • 회원가입
  • 로그인

GO - Output (고랭 출력)

72  
목차
  1. Go 출력 - Print() 함수
  2. Go 출력 - Println() 함수
  3. Go 출력 - Printf() 함수
  4. Go Printf() 함수 - General 포맷동사
  5. Go Printf() 함수 - Integer 포맷동사
  6. Go Printf() 함수 - String 포맷동사
  7. Go Printf() 함수 - Boolean 포맷동사
  8. Go Printf() 함수 - Float 포맷동사

 

Go는 3가지 출력 함수 지원.

Print(), Println(), Printf()

 

Go 출력 - Print() 함수

 

독립변수를 기본 형태 그대로 출력.

 


[예제1] - 빈칸 없이 옆으로 나열해 출력

 

package main

import ("fmt")


func main() {

  var site, host string = "홈짱닷컴","Homzzang.com"

 

  fmt.Print(site) // 홈짱닷컴

  fmt.Print(host) // Homzzang.com

}

 

결과값: 홈짱닷컴Homzzang.com


[예제2] - 줄바꿈하려면, "\n" 사용.

※ \n 줄바꿈 기호는 문자열 일종이므로, 큰따옴표로 묶어야 함.

 

package main

import ("fmt")


func main() {

  var site, host string = "홈짱닷컴","Homzzang.com"


  fmt.Print(site, "\n") // 홈짱닷컴

  fmt.Print(host, "\n") // Homzzang.com

}

 

결과값:

홈짱닷컴

Homzzang.com


[예제3] - 1개의 print() 함수로 여러 독립변수 출력 가능.

 

package main

import ("fmt")


func main() {

  var site, host string = "홈짱닷컴","Homzzang.com"


  fmt.Print(site, "\n", host) 

}

 

결과값:

홈짱닷컴

Homzzang.com


[예제4] - 독립변수 간 사이에 공백 주려면, " " 사용.

 

package main

import ("fmt")


func main() {

  var site, host string = "홈짱닷컴","Homzzang.com"


  fmt.Print(site, " ", host) // 홈짱닷컴 Homzzang.com

}

 

 


[예제5] - 독립변수가 둘 다 문자열이 아닌 경우, 사이에 공백 자동 추가됨.

※ 둘 중 하나라도 문자열이면 출력 시 딱 붙음.

 

package main

import ("fmt")


func main() {

  var a, b =  3, 4

  fmt.Print(a,b) // 3 4

 

 

Go 출력 - Println() 함수

 

print() 함수와 유사하나, 아래 2가지 사항이 다름.

  1. 독립변수 사이에 공백 자동 추가.
  2. 독립변수 마지막에서 줄바꿈 됨.

 


[예제]

 

package main

import ("fmt")

 

func main() {

  var site,host string = "홈짱닷컴","Homzzang.com"

  var intro = "코딩강의"


  fmt.Println(site,host) // 홈짱닷컴 Homzzang.com

  fmt.Println(intro) // 코딩강의

}

 

결과값:

홈짱닷컴 Homzzang.com

코딩강의

 

Go 출력 - Printf() 함수

 

지정된 포맷동사로 독립변수를 포맷 후, 출력함.

포맷동사는 %기호로 시작하며, 포맷 형식 지정.

(예)

%v : 독립변수의 값(value) 출력

%T : 독립변수의 타입(type) 출력

 


[예제]

 

package main

import ("fmt")


func main() {

  var host string = "Homzzang.com"

  var open int = 2012


  fmt.Printf("host 변수 (값: %v / 타입: %T)\n", host, host)

  fmt.Printf("open 변수 (값: %v / 타입: %T)", open, open)  

}

 

결과값:

host 변수 (값: Homzzang.com / 타입: string)

open 변수 (값: 2012 / 타입: int)

 

Go Printf() 함수 - General 포맷동사

 

모든 자료형에 사용 가능한 포맷동사.

 


[종류] - 4가지

 

%v : 값을 기본 포맷으로 출력

%#v : 값을 Go  구문 포맷으로 출력

%T : 값의 타입 출력

%% : % 기호 출력

 


[예제]

 

package main

import ("fmt")


func main() {

  var a = 1.23456789

  var b = "Homzzang.com"

  

  fmt.Printf("%v\n", a) // 1.23456789

  fmt.Printf("%#v\n", a) // 1.23456789

  fmt.Printf("%v%%\n", a) // 1.23456789%

  fmt.Printf("%T\n", a) // float64

  

  fmt.Printf("%v\n", b) // Homzzang.com

  fmt.Printf("%#v\n", b) // "Homzzang.com"

  fmt.Printf("%T\n", b) // string

}

 

 

Go Printf() 함수 - Integer 포맷동사

 

정수 데이터에 사용 가능한 포맷동사.

 


[종류]

 

%b : 2진수

%d : 10진수

%+d : 10진수 (항상 기호 표시)

%o : 8진수

%O : 8진수 (0o로 시작)

%x : 16진수 (소문자)

%X : 16진수 (대문자)

%#x : 16진수 (0x로 시작)

%4d : 공백 패딩 (너비4, 우측 정렬)

%-4d : 공백 패딩 (너비4, 좌측 정렬)

%04d : 제로패딩 (너비4)

 


[예제]

 

package main

import ("fmt")


func main() {

  var a = 34

  

  fmt.Printf("%b\n", a) // 100010

  fmt.Printf("%d\n", a) // 34

  fmt.Printf("%+d\n", a) // +34

  fmt.Printf("%o\n", a) // 42

  fmt.Printf("%O\n", a) // 0o42

  fmt.Printf("%x\n", a) // 22

  fmt.Printf("%X\n", a) // 22

  fmt.Printf("%#x\n", a) // 0x22

  fmt.Printf("[%4d]\n", a) // [  34]

  fmt.Printf("[%-4d]\n", a) // [34  ]

  fmt.Printf("[%04d]\n", a) // [0034]

}

 

 

Go Printf() 함수 - String 포맷동사

 

문자열 데이터에 사용 가능한 포맷동사.

 


[종류]

 

%s - 문자열 값을 기본 형태로 출력

%q - 문자열 값을 큰따옴표로 묶어 출력

%8s - 문자열 값을 기본 형태로 출력 (너비8, 우측 정렬)

%-8s - 문자열 값을 기본 형태로 출력 (너비8, 좌측 정렬)

%x - 문자열 값을 byte 값으로 된 16진 덤프로 출력

% x - 문자열 값을 공백 가진 16진 덤프로 출력

 


[예제]

 

package main

import ("fmt")


func main() {

  var hi = "Hello"

  

  fmt.Printf("%s\n", hi) // Hello

  fmt.Printf("%q\n", hi) // "Hello"

  fmt.Printf("[%8s]\n", hi) // [   Hello]

  fmt.Printf("[%-8s]\n", hi) // [Hello   ]

  fmt.Printf("%x\n", hi) // 48656c6c6f

  fmt.Printf("% x\n", hi) // 48 65 6c 6c 6f

}

 

 

Go Printf() 함수 - Boolean 포맷동사

 

참거짓 데이터엣 사용 가능한 포맷동사.

 


[종류]

 

%t - true/false 형식의 참거짓 값 출력 (%v와 동일)

 


[예제]

 

package main

import ("fmt")


func main() {

  var a = true


  fmt.Printf("%t\n", a) // true

  fmt.Printf("%v\n", a) // true

}

 

 

Go Printf() 함수 - Float 포맷동사

 

부동소수 데이터에 사용 가능한 포맷동사.

 


[종류]

 

%e - 지수 e 갖는 과학적 표기법

%f - 지수 없는 소수점 형태

%.2f - 기본너비, 소수점 2자리

%6.2f - 너비6, 소수점 2자리

%g - 필요에 따라 지수, 필요한 숫자만 표시

 


[예제]

 

package main

import ("fmt")


func main() {

  var a = 1.23456789


  fmt.Printf("%e\n", a) // 1.234568e+00

  fmt.Printf("%f\n", a) // 1.234568

  fmt.Printf("[%.2f]\n", a) // [1.23]

  fmt.Printf("[%6.2f]\n", a) // [  1.23]

  fmt.Printf("%g\n", a) // 1.23456789

}

 



찾아주셔서 감사합니다. Since 2012