0Pricing
Go Academy · บทเรียน

เวิร์บของ Printf

จัดรูปแบบค่าอย่างแม่นยำ

เวิร์บของ Printf เป็นบทเรียน Go Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Go Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน

เวิร์บคืออะไร

fmt.Printf จัดรูปแบบค่าโดยใช้ สตริงรูปแบบ ภายในนั้น เครื่องหมายเปอร์เซ็นต์ตามด้วยตัวอักษรคือ เวิร์บ ซึ่งระบุวิธีพิมพ์อาร์กิวเมนต์ถัดไป

ตัวอย่าง: %d สำหรับจำนวนเต็ม และ %s สำหรับสตริง

package main

import "fmt"

func main() {
    fmt.Printf("%s is %d years old\n", "Ada", 36)
}

อย่าลืมขึ้นบรรทัดใหม่

ต่างจาก Println ตรงที่ Printf ไม่เพิ่มการขึ้นบรรทัดใหม่ให้เอง เมื่อคุณต้องการขึ้นบรรทัดใหม่ ให้เพิ่ม \n ด้วยตนเอง

package main

import "fmt"

func main() {
    fmt.Printf("line one\n")
    fmt.Printf("line two\n")
}

เวิร์บทั่วไป %v

%v พิมพ์ค่าในรูปแบบเริ่มต้นและใช้ได้กับประเภทเกือบทุกชนิด ส่วน %+v จะเพิ่มชื่อฟิลด์ของโครงสร้าง

package main

import "fmt"

type Point struct{ X, Y int }

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

เวิร์บไวยากรณ์ Go %#v

%#v พิมพ์ค่าในรูปแบบเดียวกับที่คุณจะเขียนในซอร์สโค้ด Go จึงเหมาะอย่างยิ่งสำหรับการดีบัก

package main

import "fmt"

type Point struct{ X, Y int }

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

เวิร์บแสดงประเภท %T

%T พิมพ์ประเภทของค่า ซึ่งมีประโยชน์เมื่อคุณไม่แน่ใจว่ากำลังทำงานกับอะไร

package main

import "fmt"

func main() {
    fmt.Printf("%T\n", 42)
    fmt.Printf("%T\n", "hi")
    fmt.Printf("%T\n", 3.14)
}

ฐานของจำนวนเต็ม

จำนวนเต็มมีเวิร์บหลายแบบ:

  • %d ฐานสิบ
  • %b ฐานสอง
  • %o ฐานแปด
  • %x ฐานสิบหก
package main

import "fmt"

func main() {
    n := 255
    fmt.Printf("%d %b %o %x\n", n, n, n, n)
}

รูปแบบเลขทศนิยม

เลขทศนิยมใช้ %f สำหรับการแสดงแบบฐานสิบ และ %e สำหรับสัญกรณ์วิทยาศาสตร์ ส่วน %g จะเลือกรูปแบบที่สั้นและเหมาะสมที่สุด

package main

import "fmt"

func main() {
    x := 3.14159
    fmt.Printf("%f\n", x)
    fmt.Printf("%e\n", x)
    fmt.Printf("%g\n", x)
}

ความละเอียดของเลขทศนิยม

เพิ่ม .N เพื่อควบคุมจำนวนตำแหน่งทศนิยม %.2f แสดงตัวเลขหลังจุดทศนิยมสองหลักพอดี จึงเหมาะสำหรับจำนวนเงิน

package main

import "fmt"

func main() {
    price := 9.5
    fmt.Printf("$%.2f\n", price)
}

ความกว้างและการจัดแนว

ตัวเลขก่อนเวิร์บจะกำหนดความกว้างขั้นต่ำ ค่าโดยค่าเริ่มต้นจะจัดชิดขวา ส่วนเครื่องหมายลบจะจัดชิดซ้าย

package main

import "fmt"

func main() {
    fmt.Printf("[%5d]\n", 42)
    fmt.Printf("[%-5d]\n", 42)
}

การเติมเลขศูนย์

การใส่ 0 ไว้หน้าค่าความกว้างจะเติมเลขศูนย์ให้ตัวเลข เหมาะสำหรับรหัสที่มีความยาวคงที่หรือประทับเวลา

package main

import "fmt"

func main() {
    fmt.Printf("%04d\n", 7)
    fmt.Printf("%02d:%02d\n", 9, 5)
}

ค่าบูลีน อัญประกาศ และเปอร์เซ็นต์

เวิร์บเพิ่มเติม ได้แก่ %t สำหรับค่าบูลีน %q สำหรับสตริงในอัญประกาศคู่ และ %% สำหรับเครื่องหมายเปอร์เซ็นต์ตามตัวอักษร

package main

import "fmt"

func main() {
    fmt.Printf("%t\n", true)
    fmt.Printf("%q\n", "hi")
    fmt.Printf("100%%\n")
}

ตรวจสอบอย่างรวดเร็ว

เวิร์บใดจัดรูปแบบเลขทศนิยมให้มีทศนิยมสองตำแหน่ง

สรุปทบทวน: เวิร์บของ Printf

ตอนนี้คุณจัดรูปแบบได้อย่างแม่นยำแล้ว:

  • ทั่วไป: %v, %+v, %#v, %T
  • ตัวเลข: %d, %b, %x, %f, %.2f
  • การจัดวาง: ความกว้าง ใช้ - เพื่อจัดชิดซ้าย และใช้ 0 เพื่อเติมเลขศูนย์
package main

import "fmt"

func main() {
    fmt.Printf("%-8s %6.2f\n", "Total:", 12.5)
}

คำถามที่พบบ่อย

บทเรียน “เวิร์บของ Printf” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เวิร์บของ Printf” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Go Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เวิร์บของ Printf”

จัดรูปแบบค่าอย่างแม่นยำ คุณปฏิบัติ Go Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Go Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Go Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “เวิร์บของ Printf” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Go Academy นี้ได้ไหม

ได้ บทเรียน Go Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เวิร์บของ Printf
  2. Sprintf และ Fprintf
  3. อินเทอร์เฟซ Stringer
  4. การสแกนข้อมูลนำเข้า
← กลับไปที่ Go Academy