Menu
CoddyTech

Package và import

Thuộc phần Lập trình hướng đối tượng trong hành trình GO của Coddy. Bài học 3 trên 107.

Mọi tệp Go đều bắt đầu bằng khai báo package. Từ khóa import đưa các gói từ thư viện chuẩn của Go vào để bạn có thể sử dụng các hàm của chúng.

Nhập một package

import "fmt"

Nhập nhiều gói bằng một khối import

import (
    "fmt"
    "math"
    "strings"
)

Dùng các hàm từ những package đã nhập bằng cách đặt tên package làm tiền tố

package main

import (
    "fmt"
    "strings"
    "math"
)

func main() {
    upper := strings.ToUpper("hello")
    fmt.Println(upper) // Đầu ra: HELLO

    root := math.Sqrt(16)
    fmt.Println(root) // Đầu ra: 4
}

Các gói thư viện chuẩn thường dùng

"fmt"     // Đầu vào và đầu ra có định dạng (Print, Scan, Sprintf)
"strings" // Thao tác với chuỗi (ToUpper, Contains, Replace)
"math"    // Các hàm toán học (Sqrt, Pow, Pi)
"strconv" // Chuyển đổi chuỗi (Itoa, Atoi)

Bạn truy cập các hàm trong một package bằng cách dùng packagename.FunctionName. Go chỉ cho phép bạn import những package thực sự được dùng: các package chưa dùng sẽ gây ra lỗi biên dịch.

challenge icon

Thử thách

Trung bình

Sửa câu lệnh import trong utils.go để các hàm hoạt động chính xác. Bạn cần import các package strings và math:

  • FormatText dùng strings.ToUpper
  • ContainsWord dùng strings.Contains
  • SquareRoot dùng math.Sqrt

Tự làm thử

package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func main() {
    scanner := bufio.NewScanner(os.Stdin)
    scanner.Scan()
    line := scanner.Text()

    parts := strings.Fields(line)
    numStr := parts[len(parts)-1]
    text := strings.Join(parts[:len(parts)-1], " ")
    num, _ := strconv.ParseFloat(numStr, 64)

    fmt.Printf("Upper: %s\n", FormatText(text))
    fmt.Printf("Contains 'world': %t\n", ContainsWord(text, "world"))
    fmt.Printf("Sqrt: %.2f\n", SquareRoot(num))
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch Go online