معرفی ezpkg.io: مجموعه‌ای از بسته‌ها برای آسان‌تر کردن نوشتن کد Go

همانطور که روی پروژه های مختلف Go کار می کنم، اغلب متوجه می شوم که توابع کاربردی ایجاد می کنم، بسته های موجود را گسترش می دهم یا بسته هایی را برای حل مشکلات خاص توسعه می دهم. با حرکت از پروژه ای به پروژه دیگر، معمولاً باید این راه حل ها را کپی یا بازنویسی کنم. بنابراین، من ایجاد کردم ezpkg.io تا همه این ابزارها و بسته ها را در یک مکان داشته باشید. امیدواریم که آنها را نیز مفید بیابید.

بیایید به برخی از مشکلاتی که این بسته ها حل می کنند نگاه کنیم.


توابع زیادی وجود دارند که همیشه خطاهای صفر را برمی‌گردانند، اما ما هنوز باید بررسی کنیم.

به عنوان مثال، اجازه دهید نگاهی به این تابع با استفاده از strings.Builderاز stdlib:

import "fmt"
import "strings"

func SliceToString1[T any](slice []T) string {
var b strings.Builder
for _, v := range slice {
_, err := fmt.Fprint(&b, v)
if err != nil {
panic(err)
}
}
return b.String()
)
func SliceToString2[T any](slice []T) (string, error) {
var b strings.Builder
for _, v := range slice {
_, err := fmt.Fprint(&b, v)
if err != nil {
return err
}
}
return b.String()
)
func SliceToString3[T any](slice []T) string {
var b strings.Builder
for _, v := range slice {
_, _ = fmt.Fprint(&b, v) //nolint:errcheck
}
return...

Source link