Example Function trong Go là gì?

Một trong số những điểm mạnh của Go là sự phong phú trong tính năng kiểm thử và tài liệu sẵn có. Nổi bật trong số đó là một công cụ cực kỳ hữu ích mang tên “example function”, có thể giúp bạn kiểm tra code và giải thích nó với người khác.

Lập trình Go

Là một lập trình viên, bạn cần hiểu chính xác example function là gì và cách dùng chúng để xây dựng phần mềm có thể bảo trì.

Example Function là gì?

Example function trong Golang là các đoạn code có thể kiểm thử mà bạn có thể thêm vào package làm tài liệu và xác minh độ chính xác. Các example function không tính tham số và không trả về kết quả.

Hãy tưởng tượng bạn có hàm Multiply sao trong dự án:

func Multiply(a, b int) int {
    return a * b
}

Một example function cho Multiply trông sẽ như thế này:

func ExampleMultiply() {
fmt.Println(Multiply(4, 5))
// Output: 2
}

Các example function dùng một quy ước đặt tên tương tự để kiểm thử phần mềm. Xác định một ví dụ hàm bằng cách thêm tên của hàm đó cho Example, giống như trường với ExampleMultiply ở đây.

Tìm hiểu sâu hơn về example function trong Go

Code ở phần trước hiện cấu trúc cơ bản của example Function. Điều tạo nên một example là tên, nội dung hàm và bình luận ở cuối của hàm.

Khi thêm bình luận đầu ra, Go biên dịch và thực thi ví dụ để xác minh tính chính xác của nó, nhưng nếu không có nhận xét thì Go chỉ biên dịch hàm ví dụ chứ không thực thi.

1. Bạn có thể xác định ví dụ cho package, chỉ cần gọi hàm Example() mà không cần hậu tố. Ví dụ, đây là một example cấp package.

func Example() {
    fmt.Println("Hello, world!")
    // Output:
    // Hello, world!
}

2. Để xác định example cho một hàm, bạn chỉ cần thêm tên hàm làm hậu tố như đã học trước đó.

func ExampleMultiply() {
    fmt.Println(Multiply(4,5))
    // Output: 2
}

3. Để xác định example cho một kiểu, thêm tên làm hậu tố cho Example. Ví dụ:

type MyStruct struct {
    // ...
}

func ExampleMyStruct() {
    // ...
}

4. Cuối cùng, đối với một phương thức trên một kiểu cụ thể, bạn thêm tên kiểu, dấu gạch dưới, rồi tới tên phương thức. Ví dụ:

func (m *MyStruct) MyMethod() {
    // ...
}

func ExampleMyStruct_MyMethod() {
    // ...

Bạn có thể xác định nhiều example cho một thực thể bằng cách thêm dấu gạch dưới và hậu tố bắt đầu bằng chữ cái viết thường. Ví dụ: ExampleMultiply_second, ExampleMyStruct_MyMethod_second.

Bạn cũng có thể dùng example lớn hơn để giải thích logic phức tạp bằng cách sử dụng whole file example.

Công cụ Go nhận diện và xử lý các hàm example theo cách bạn xác định chúng.

Soạn tài liệu code bằng example function

Example function rất hữu ích cho cả mục đích soạn tài liệu và thử nghiệm. Hàm ví dụ thường thực hiện công việc giải thích hành vi tốt hơn so với hàm nhận xét.

Cũng giống như Javadoc của Java, công cụ tài liệu tích hợp của Go, godoc, giúp viết mã tài liệu một cách dễ dàng. Tuy nhiên, bạn sẽ muốn ghi lại một số thư viện và hàm cùng nhau để hiểu rõ hơn về cách chúng hoạt động. Những hàm ví dụ loại bỏ nhược điểm này vì chúng có thể chứng minh sự tương tác giữa các đơn vị khác nhau trong gói.

Công cụ godoc tự động kết hợp ví dụ với chức năng, kiểu và gói mà chúng thuộc về, phụ thuộc vào yêu cầu của bạn. Nó cũng đi sâu hơn một bước bằng cách cho phép thử nghiệm trong giao diện web tài liệu.

Bạn có thể thử một gói hoặc phương thức ngay trong tài liệu, thậm chí trước cả khi bạn dùng nó trong code.

Ảnh này hiện một ví dụ cho hàm json.Valid trong encoding/json:

Xác thực hàm

Trên đây là những cơ bản bạn cần biết về example function trong Go. Hi vọng bài viết hữu ích với bạn!

Thứ Hai, 16/10/2023 17:15
31 👨 88
0 Bình luận
Sắp xếp theo