Contents

Các hàm ví dụ trong Go là gì?

Bài học chính

Ngôn ngữ lập trình Go cung cấp các hàm ví dụ, có chức năng vừa là tài liệu tham khảo cho người dùng vừa là phương tiện xác minh độ chính xác của việc triển khai thông qua thử nghiệm. Các hàm ví dụ này minh họa cho các phương pháp thực hành tốt nhất và đóng vai trò là tài nguyên giáo dục cho các nhà phát triển để đảm bảo việc triển khai của họ tuân thủ các tiêu chuẩn đã thiết lập.

Các hàm ví dụ nói trên tuân theo một danh pháp được xác định trước và có thể được mô tả cho mục đích của các gói, các thực thể thực hiện các hoạt động, danh mục dữ liệu và các thủ tục liên quan đến các phương thức.

Việc cung cấp các hàm mẫu đóng vai trò như một phương tiện để xác minh mã đáng tin cậy, đồng thời duy trì tài liệu chính xác. Các chức năng này, được biểu thị là các bài kiểm tra thực thi, hoạt động như một công cụ xác thực để đảm bảo hoạt động bình thường của các thành phần phần mềm và các quy trình liên quan của chúng. Bằng cách liên tục cập nhật tài liệu theo bất kỳ thay đổi nào được thực hiện đối với các chức năng mẫu, nhà phát triển có thể theo dõi các sửa đổi một cách hiệu quả và đảm bảo rằng sản phẩm của họ luôn nhất quán theo thời gian.

Một trong những ưu điểm đáng chú ý của ngôn ngữ lập trình Go nằm ở bộ công cụ tài liệu và kiểm tra tích hợp toàn diện, bao gồm một tài nguyên đặc biệt có giá trị được gọi là “hàm mẫu”. Tính năng này cho phép người dùng xác thực mã của họ một cách hiệu quả và truyền đạt chức năng của nó cho đồng nghiệp hoặc cộng tác viên một cách dễ dàng và rõ ràng hơn.

Để sử dụng hiệu quả ngôn ngữ lập trình Go với tư cách là nhà phát triển, điều cần thiết là phải hiểu khái niệm về các hàm ví dụ và vai trò của chúng trong việc tạo ra các hệ thống phần mềm bền vững.

Hàm ví dụ là gì?

Trong Golang, các hàm ví dụ đóng vai trò là các đoạn mã minh họa được bao gồm trong các gói nhằm mục đích hướng dẫn, tạo cơ hội xác thực tính chính xác của chúng thông qua thử nghiệm. Các chức năng này không chấp nhận đầu vào hoặc mang lại bất kỳ kết quả nào.

Hãy xem xét một kịch bản trong đó một người đã kết hợp hàm nhân sau vào danh mục dự án của họ:

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

Việc thực hiện một hàm để thực hiện phép nhân có thể được biểu diễn như sau:

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

Để tạo một hàm ví dụ, thông thường bạn phải thêm tên của hàm làm hậu tố cho “Example”, giống như trong trường hợp của “ExampleMultiply.

Xem xét kỹ hơn các hàm ví dụ

Đoạn mã nói trên minh họa bố cục cơ bản của một hàm phiên bản, bao gồm tiêu đề, nội dung hàm và lựa chọn thêm một nhận xét mô tả làm câu kết luận trong phạm vi của hàm.

Khi thêm nhận xét chứa câu lệnh đầu ra trong mã, Go sẽ biên dịch và chạy ví dụ được cung cấp để đảm bảo tính chính xác của nó. Tuy nhiên, nếu không có chú thích nào như vậy, ngôn ngữ sẽ chỉ biên dịch chức năng của hàm ví dụ mà không thực thi nó.

Người ta có thể cung cấp các trường hợp minh họa về gói, hàm, kiểu dữ liệu và phương thức được liên kết với một cấu trúc dữ liệu cụ thể.

Các loại thực thể khác nhau đòi hỏi các chiến lược khác nhau khi cung cấp các ví dụ minh họa.

⭐ Để xác định một ví dụ cho một gói, chỉ cần gọi hàm của bạn Ví dụ() , không có bất kỳ hậu tố nào. Chẳng hạn, đây là một ví dụ ở cấp độ gói:

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

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

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

⭐ Để xác định ví dụ cho một loại, hãy thêm tên làm hậu tố vào Ví dụ. Đây là một ví dụ:

 type MyStruct struct {
    // ...
}

func ExampleMyStruct() {
    // ...
}

⭐ Và cuối cùng, đối với một phương thức trên một loại cụ thể, bạn thêm tên loại, dấu gạch dưới và sau đó là tên phương thức. Đây là một cuộc biểu tình:

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

func ExampleMyStruct_MyMethod() {
    // ...
}

Bạn có thể cung cấp nhiều phiên bản của một thực thể bằng cách thêm mã định danh được viết hoa tối thiểu và một chữ số trong dấu ngoặc đơn ngay sau nó. Để minh họa, hãy xem xét các chỉ định

Một tùy chọn bổ sung có sẵn là cung cấp một minh họa mở rộng về lý luận phức tạp thông qua việc sử dụng một phiên bản toàn diện từ một tệp duy nhất. Điều này cho phép hiểu rõ hơn về khái niệm đang được thể hiện.

Toàn bộ tệp mẫu là tệp có đuôi _test.go và chứa chính xác một hàm mẫu, không có hàm kiểm tra hoặc hàm chuẩn và ít nhất một khai báo cấp gói khác. Khi hiển thị các ví dụ như vậy godoc sẽ hiển thị toàn bộ file.-Blog của go dev

Chức năng của công cụ Go phụ thuộc vào cách bạn mô tả chức năng mẫu của mình

Bạn có thể sử dụng tùy chọn nhận xét không có cấu trúc khi đưa ra nhận xét về đầu ra. Cách tiếp cận này đặc biệt có lợi trong trường hợp hàm của bạn đưa ra một danh sách có cách sắp xếp khác với những gì được dự đoán hoặc yêu cầu.

Ghi lại mã của bạn bằng các hàm ví dụ

Các hàm phục vụ mục đích kép về mặt tài liệu và kiểm tra, vì chúng cung cấp các ví dụ minh họa thể hiện hiệu quả hành vi dự định của chúng hiệu quả hơn các nhận xét.

Tương tự, giống như với công cụ tài liệu sẵn có của Javadoc hoặc Go của Java được gọi là godoc, việc tạo tài liệu toàn diện cho cơ sở mã của một người bằng cách sử dụng các công cụ này là khá đơn giản. Tuy nhiên, khi cố gắng cung cấp một cái nhìn toàn diện về một số thư viện và chức năng hoạt động chung trong một gói cụ thể, có thể cần có các ví dụ để minh họa sự phụ thuộc lẫn nhau và tương tác của chúng.

Công cụ Godoc được trang bị một tính năng cho phép người dùng liên kết các ví dụ với nhiều thành phần khác nhau như chức năng, loại và gói theo sở thích của họ. Ngoài ra, nó còn cung cấp một nền tảng tương tác để tiến hành các thí nghiệm trực tiếp thông qua giao diện tài liệu của nó.

Người ta có thể thử nghiệm một gói hoặc phương thức trực tiếp trong chính tài liệu đó trước khi kết hợp nó vào mã của họ.

Đoạn mã được cung cấp minh hoạ cách triển khai hàm json.Valid trong gói encoding/json trong ngôn ngữ lập trình Go. Hàm kiểm tra xem một đối tượng JSON nhất định có hợp lệ hay không bằng cách lặp qua các khóa và giá trị của nó, xác minh rằng tất cả các giá trị đều thuộc loại thích hợp như được chỉ định trong lược đồ.

/vi/images/testable_example_function_in_go.jpg

Sử dụng hàm mẫu để kiểm tra đơn vị

Việc chạy lệnh “go test” sẽ bắt đầu một quy trình thực thi trong đó công cụ thực thi từng chức năng ví dụ kèm theo nhận xét đầu ra kết luận, sau đó xác minh xem kết quả thực tế có tương ứng với kỳ vọng đã nêu trong nhận xét hay không.

Chức năng này mang lại vô số lợi ích, vừa đóng vai trò là lớp xác thực bổ sung cho mã đáng tin cậy vừa tạo điều kiện thuận lợi cho việc duy trì tài liệu cập nhật song song với các sửa đổi cơ sở mã đang phát triển.

Trong trường hợp các sửa đổi được thực hiện ảnh hưởng đến hoạt động của một chức năng cụ thể cùng với kết quả mang lại của nó, việc bỏ qua việc sửa đổi chú thích minh họa tương ứng để phù hợp với những điều chỉnh này có thể dẫn đến thất bại của các trường hợp kiểm thử liên quan.

Cập nhật tài liệu một cách thường xuyên là rất quan trọng để đảm bảo rằng nó luôn cập nhật và phù hợp. Bằng cách duy trì tính nhất quán giữa mã và tài liệu liên quan, phương pháp này có thể giảm thiểu một cách hiệu quả nguy cơ thông tin lỗi thời hoặc cũ được hiển thị cho người dùng.

Hàm ví dụ tạo ra mã và tài liệu đáng tin cậy

Tài liệu đóng một vai trò quan trọng trong lĩnh vực phát triển phần mềm, tuy nhiên chỉ một số ngôn ngữ lập trình được chọn cung cấp cho các nhà phát triển nền tảng vững chắc cho cả tài liệu và kiểm tra mã của họ.

Việc sử dụng các ví dụ là một khía cạnh thiết yếu của việc tạo tài liệu toàn diện cho phần mềm của một người, vì chúng tạo điều kiện thuận lợi cho cả người dùng và cộng tác viên chấp nhận cũng như hiểu biết về cơ sở mã hiện có. Bằng cách kết hợp các trường hợp như vậy vào quy trình lập tài liệu của mình, bạn có thể đảm bảo quy trình làm việc hợp lý và thúc đẩy sự cộng tác hiệu quả hơn giữa các thành viên trong nhóm.