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

ฟังก์ชันในแพ็กเกจ strings

แยก เชื่อม และตัดช่องว่าง

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

แพ็กเกจ strings

แพ็กเกจ strings ในไลบรารีมาตรฐานมีตัวช่วยสำเร็จรูปสำหรับจัดการข้อความ เช่น การค้นหา การแยก การเชื่อม การตัดส่วน และการเปลี่ยนตัวพิมพ์

นำเข้าแพ็กเกจด้วย import "strings"

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ToUpper("hello"))
}

Contains และ HasPrefix

ตรวจสอบสตริงย่อยโดยไม่ต้องเขียนลูป:

  • strings.Contains(s, sub) รายงานว่า sub ปรากฏอยู่หรือไม่
  • strings.HasPrefix และ strings.HasSuffix ตรวจสอบส่วนต้นและส่วนท้าย
package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "golang"
    fmt.Println(strings.Contains(s, "lan"))
    fmt.Println(strings.HasPrefix(s, "go"))
}

ค้นหาตำแหน่ง

strings.Index(s, sub) คืนค่าดัชนีไบต์ของผลลัพธ์ที่ตรงกันรายการแรก หรือคืนค่า-1 หากไม่พบ

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Index("chocolate", "col"))
    fmt.Println(strings.Index("chocolate", "xyz"))
}

การแยกสตริง

strings.Split(s, sep) แบ่งสตริงออกเป็นสไลซ์โดยใช้ตัวคั่น

เหมาะอย่างยิ่งสำหรับการแยกวิเคราะห์ข้อมูลรูปแบบ CSV

package main

import (
    "fmt"
    "strings"
)

func main() {
    parts := strings.Split("a,b,c", ",")
    fmt.Println(parts)
    fmt.Println(len(parts))
}

การแยกด้วยช่องว่าง

strings.Fields(s) แยกสตริงตรงช่วงช่องว่างที่ต่อเนื่องกัน และตัดส่วนว่างออก เหมาะอย่างยิ่งสำหรับการนับคำ

package main

import (
    "fmt"
    "strings"
)

func main() {
    words := strings.Fields("  the   quick brown  fox ")
    fmt.Println(words)
    fmt.Println(len(words))
}

การเชื่อมสไลซ์

strings.Join(slice, sep) เป็นการทำงานย้อนกลับของ Split โดยนำสมาชิกของสไลซ์มาเชื่อมเข้าด้วยกันด้วยตัวคั่น

package main

import (
    "fmt"
    "strings"
)

func main() {
    parts := []string{"2026", "05", "30"}
    fmt.Println(strings.Join(parts, "-"))
}

การตัดช่องว่าง

strings.TrimSpace(s) ลบช่องว่างที่อยู่ด้านหน้าและด้านหลัง เหมาะสำหรับทำความสะอาดข้อมูลนำเข้าจากผู้ใช้

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace("   hi there   ") + "!")
}

การตัดอักขระเฉพาะ

strings.Trim(s, cutset) ลบอักขระใด ๆ ที่ระบุออกจากปลายทั้งสองด้าน TrimPrefix และ TrimSuffix ใช้ลบสตริงที่ตรงกันแบบพอดี

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Trim("***name***", "*"))
    fmt.Println(strings.TrimSuffix("file.txt", ".txt"))
}

การแทนที่ข้อความ

strings.ReplaceAll(s, old, new) แทนที่ทุกตำแหน่งที่พบ ใช้ strings.Replace(s, old, new, n) หากต้องการจำกัดจำนวนผลลัพธ์ที่ตรงกันไว้ที่ n รายการแรก

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ReplaceAll("a-b-c", "-", "+"))
    fmt.Println(strings.Replace("a-b-c", "-", "+", 1))
}

การทำซ้ำและการนับ

ตัวช่วยที่มีประโยชน์อีกสองรายการ:

  • strings.Repeat(s, n) สร้างสตริงที่ทำซ้ำ
  • strings.Count(s, sub) นับจำนวนครั้งที่ปรากฏโดยไม่ซ้อนทับกัน
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Repeat("ab", 3))
    fmt.Println(strings.Count("banana", "a"))
}

การรวมฟังก์ชัน

ตัวช่วยเหล่านี้นำมาประกอบกันได้เป็นอย่างดี ในตัวอย่างนี้ เราตัดส่วน แยก และเชื่อมสตริงที่ยุ่งเหยิงกลับเข้าด้วยกันให้เป็นรายการที่คั่นด้วยจุลภาคอย่างสะอาด

package main

import (
    "fmt"
    "strings"
)

func main() {
    raw := "  go  rust  zig  "
    words := strings.Fields(raw)
    fmt.Println(strings.Join(words, ", "))
}

ตรวจสอบความเข้าใจอย่างรวดเร็ว

เลือกฟังก์ชันที่เชื่อมสไลซ์ให้เป็นสตริงเดียว

สรุป: ฟังก์ชัน strings

ตอนนี้คุณมีชุดเครื่องมือสำหรับจัดการข้อความแล้ว:

  • ค้นหา: Contains, Index, HasPrefix
  • แยกส่วน: Split, Fields
  • รวมเข้าด้วยกัน: Join, Repeat
  • ทำความสะอาด: TrimSpace, Trim, ReplaceAll
package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "  Hello, Go World  "
    fmt.Println(strings.ToLower(strings.TrimSpace(s)))
}

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

บทเรียน “ฟังก์ชันในแพ็กเกจ strings” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ฟังก์ชันในแพ็กเกจ strings”

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

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

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

บทเรียน “ฟังก์ชันในแพ็กเกจ strings” ใช้เวลานานแค่ไหน

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

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

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

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

  1. รูนเทียบกับไบต์
  2. ฟังก์ชันในแพ็กเกจ strings
  3. strings.Builder
  4. Unicode และ utf8
← กลับไปที่ Go Academy