package fmt คืออะไร
ใช้ I/O ที่จัดรูปแบบด้วยฟังก์ชันที่คล้ายคลึงกับ printf และ scanf ของภาษา C รูปแบบการกร มาจาก C แต่ง่ายกว่า
fmt.Println
- การ Print แบบขึ้นบรรทัดใหม่ ด้วย fmt.Println(“message”) //=> message
- การ Print หลาย args แบบขึ้นบรรทัดใหม่ fmt.Println(“arg0 := “,10,”, arg1 := “,99) // => arg0 := 10, arg1 := 99
fmt.Println("Hello Go World!") // => Hello Go World!
fmt.Printf
- การ Print ที่จะสามารถกำหนด format ของ message ได้โดย format ที่กำหนดมีอยู่ด้วยกันหลายรูปแบบ เช่น
- %d -> decimal
- %f -> float
- %s -> string
- %q -> double-quoted string
- %v -> value (any)
- %#v -> a Go-syntax representation of the value
- %T -> value Type
- %t -> bool (true or false)
- %p -> pointer (address in base 16, with leading 0x)
- %c -> char (rune) represented by the corresponding Unicode code poi
fmt.Printf()
ตัวอย่างการใช้งาน fmt.Printf
a, b, c := 10, 15.5, "Gophers"
grades := []int{10, 20, 30}
fmt.Printf("a is %d, b is %f, c is %s \n", a, b, c) // => a is 10, b is 15.500000, c is Gophers
fmt.Printf("%q\n", c) // => "Gophers"
fmt.Printf("%v\n", grades) // => [10 20 30]
fmt.Printf("%#v\n", grades) // => b is of type float64 and grades is of type []int
fmt.Printf("b is of type %T and grades is of type %T\n", b, grades)
// => b is of type float64 and grades is of type []int
fmt.Printf("The address of a: %p\n", &a) // => The address of a: 0xc000016128
fmt.Printf("%c and %c\n", 100, 51011) // => d and 읃 (runes for code points 101 and 51011)
แต่ถ้าอยากที่จะขึ้นบรรทัดใหม่ด้วยก็ให้ เพิ่ม \n ใน fmt.Printf(“%q\n”, c) ก็จะได้การขึ้นบรรทัดใหม่ด้วย
fmt.Sprintf
ใช้งานเหมือน Printf แต่จะ return เป็น string
a, b, c := 10, 15.5, "Gophers"
// fmt.Sprintf() returns a string. Uses the same verbs as fmt.Printf()
s := fmt.Sprintf("a is %d, b is %f, c is %s \n", a, b, c)
fmt.Println(s) // => a is 10, b is 15.500000, c is Gophers