[Go] 형식 동사
Updated:
개요
-
동사 설명 %d 십진수 %o 8진수 %x 16진수(소문자) %X 16진수(대문자) %f/%F 부동 소수점 %b 정수의 경우 2진수, 실수의 경우 2의 제곱 %e 지수 표기법으로 표현(소문자) %E 지수 표기법으로 표현(대문자) %g 지수가 크면 %e, 작으면 %f %G 지수가 크면 %E, 작으면 %F %c 룬 %s 문자열 %U 유니코드 %t 부울 %T 타입 %% 백분율 기호 리터럴 %q 문자열을 escape하여 표현 %p 주소값 표현 %v 타입에 따라 적절히 형식화된 값 %+v 타입에 따라 변수이름을 포함하여 적절히 형식화된 값 %#v 코드 그대로 형식화된 값 - 너비/소수점 자리수 지정 가능
예제
- 코드
package main import ( "fmt" ) type test struct { a int b string } func main() { fmt.Printf("1. (%d)\n", 1) fmt.Printf("2. (%3d)\n", 1) fmt.Printf("3. (%o)\n", 10) fmt.Printf("4. (%x)\n", 26) fmt.Printf("5. (%X)\n", 26) fmt.Printf("6. (%f)\n", 1.1) fmt.Printf("7. (%.3f)\n", 1.1) fmt.Printf("8. (%7.3f)\n", 1.1) fmt.Printf("9. (%F)\n", 1.1) fmt.Printf("10. (%b)\n", 8) fmt.Printf("11. (%b)\n", 8.0) fmt.Printf("12. (%e)\n", 1.0) fmt.Printf("13. (%E\n", 1.0) fmt.Printf("14. (%g), (%g)\n", 1.1, 1111111.1) fmt.Printf("15. (%G), (%G)\n", 1.1, 1111111.1) fmt.Printf("16. (%c)\n", 'a') fmt.Printf("17. (%s)\n", "abc") fmt.Printf("18. (%U)\n", 'a') fmt.Printf("19. (%t)\n", true) fmt.Printf("20. (%T)\n", 1) fmt.Printf("21. (%%)\n") fmt.Printf("22. (%q)\n", `"a b" "c"`) i := 1 fmt.Printf("23. (%p)\n", &i) fmt.Printf("24. (%v)\n", test{1, "a"}) fmt.Printf("25. (%+v)\n", test{1, "a"}) fmt.Printf("26. (%#v)\n", test{1, "a"}) }
- 실행 결과
1. (1) 2. ( 1) 3. (12) 4. (1a) 5. (1A) 6. (1.100000) 7. (1.100) 8. ( 1.100) 9. (1.100000) 10. (1000) 11. (4503599627370496p-49) 12. (1.000000e+00) 13. (1.000000E+00 14. (1.1), (1.1111111e+06) 15. (1.1), (1.1111111E+06) 16. (a) 17. (abc) 18. (U+0061) 19. (true) 20. (int) 21. (%) 22. ("\"a b\" \"c\"") 23. (0xc0000a6008) 24. ({1 a}) 25. ({a:1 b:a}) 26. (main.test{a:1, b:"a"})