"Go 문자열 포맷팅"의 두 판 사이의 차이

 
3번째 줄: 3번째 줄:


<syntaxhighlight lang='go' run>
<syntaxhighlight lang='go' run>
// https://gobyexample.com/string-formatting
package main
package main
import "fmt"
func main() {
    fmt.Printf("%t\n", true)  // true


    fmt.Printf("%d\n", 123)  // 123
    fmt.Printf("%b\n", 14)    // 1110
    fmt.Printf("%c\n", 33)    // !
    fmt.Printf("%x\n", 456)  // 1c8
    fmt.Printf("%f\n", 78.9)  // 78.900000
    fmt.Printf("%e\n", 123400000.0)  // 1.234000e+08
    fmt.Printf("%E\n", 123400000.0)  // 1.234000E+08
}
</syntaxhighlight>
<syntaxhighlight lang='go' run>
package main
import (
import (
     "fmt"
     "fmt"
     "os"
     "os"
)
)
func main() {
    fmt.Printf("%s\n", "\"string\"")  // "string"
    fmt.Printf("%q\n", "\"string\"")  // "\"string\""
    fmt.Printf("%x\n", "hex this")    // 6865782074686973
    fmt.Printf("|%6d|%6d|\n", 12, 345)          // |    12|  345|
    fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)    // |  1.20|  3.45|
    fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)  // |1.20  |3.45  |
    fmt.Printf("|%6s|%6s|\n", "foo", "b")      // |  foo|    b|
    fmt.Printf("|%-6s|%-6s|\n", "foo", "b")    // |foo  |b    |
    s := fmt.Sprintf("a %s", "string")
    fmt.Println(s)  // a string
    fmt.Fprintf(os.Stderr, "an %s\n", "error")  // an error
}
</syntaxhighlight>
<syntaxhighlight lang='go' run>
package main
import "fmt"


type point struct {
type point struct {
16번째 줄: 50번째 줄:


func main() {
func main() {
     p := point{1, 2}
     p := point{1, 2}
    fmt.Printf("%v\n", p)


     fmt.Printf("%+v\n", p)
     fmt.Printf("%v\n", p) // {1 2}
 
     fmt.Printf("%+v\n", p) // {x:1 y:2}
     fmt.Printf("%#v\n", p)
     fmt.Printf("%#v\n", p) // main.point{x:1, y:2}
 
     fmt.Printf("%T\n", p) // main.point
     fmt.Printf("%T\n", p)
     fmt.Printf("%p\n", &p) // 0xc000016060
 
    fmt.Printf("%t\n", true)
 
    fmt.Printf("%d\n", 123)
 
    fmt.Printf("%b\n", 14)
 
    fmt.Printf("%c\n", 33)
 
    fmt.Printf("%x\n", 456)
 
     fmt.Printf("%f\n", 78.9)
 
    fmt.Printf("%e\n", 123400000.0)
    fmt.Printf("%E\n", 123400000.0)
 
    fmt.Printf("%s\n", "\"string\"")
 
    fmt.Printf("%q\n", "\"string\"")
 
    fmt.Printf("%x\n", "hex this")
 
     fmt.Printf("%p\n", &p)
 
    fmt.Printf("|%6d|%6d|\n", 12, 345)
 
    fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)
 
    fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)
 
    fmt.Printf("|%6s|%6s|\n", "foo", "b")
 
    fmt.Printf("|%-6s|%-6s|\n", "foo", "b")
 
    s := fmt.Sprintf("a %s", "string")
    fmt.Println(s)
 
    fmt.Fprintf(os.Stderr, "an %s\n", "error")
}
}
</syntaxhighlight>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[Go 문자열]]
* [[Go 문자열]]
* [[Go 정규표현식]]
* [[Go 정규표현식]]
==참고==
* https://gobyexample.com/string-formatting


[[분류: Go 문자열]]
[[분류: Go 문자열]]

2021년 4월 29일 (목) 23:18 기준 최신판

1 개요[ | ]

Go 문자열 포맷팅
package main
import "fmt"
func main() {
    fmt.Printf("%t\n", true)  // true

    fmt.Printf("%d\n", 123)   // 123
    fmt.Printf("%b\n", 14)    // 1110
    fmt.Printf("%c\n", 33)    // !
    fmt.Printf("%x\n", 456)   // 1c8
    fmt.Printf("%f\n", 78.9)  // 78.900000

    fmt.Printf("%e\n", 123400000.0)  // 1.234000e+08
    fmt.Printf("%E\n", 123400000.0)  // 1.234000E+08
}
package main
import (
    "fmt"
    "os"
)
func main() {
    fmt.Printf("%s\n", "\"string\"")  // "string"
    fmt.Printf("%q\n", "\"string\"")  // "\"string\""
    fmt.Printf("%x\n", "hex this")    // 6865782074686973

    fmt.Printf("|%6d|%6d|\n", 12, 345)          // |    12|   345|
    fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)    // |  1.20|  3.45|
    fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)  // |1.20  |3.45  |
    fmt.Printf("|%6s|%6s|\n", "foo", "b")       // |   foo|     b|
    fmt.Printf("|%-6s|%-6s|\n", "foo", "b")     // |foo   |b     |

    s := fmt.Sprintf("a %s", "string")
    fmt.Println(s)  // a string

    fmt.Fprintf(os.Stderr, "an %s\n", "error")  // an error
}
package main
import "fmt"

type point struct {
    x, y int
}

func main() {
    p := point{1, 2}

    fmt.Printf("%v\n",  p)  // {1 2}
    fmt.Printf("%+v\n", p)  // {x:1 y:2}
    fmt.Printf("%#v\n", p)  // main.point{x:1, y:2}
    fmt.Printf("%T\n",  p)  // main.point
    fmt.Printf("%p\n", &p)  // 0xc000016060
}

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}