خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

تولید UUID با Go

Go راه‌های زیادی برای تولید UUID ارائه می‌کند که روشی مناسب و قوی برای سازمان‌دهی داده‌های شما هستند.

شناسه‌های منحصربه‌فرد جهانی (UUID) برای شناسایی کاربر در برنامه‌هایی که درجه بالایی از تصادفی ضروری است، محبوب هستند. UUID ها انتخاب خوبی برای برنامه هایی هستند که به میلیون ها کاربر خدمات ارائه می دهند زیرا احتمال برخورد را کاهش می دهند و در همه سیستم ها متمایز هستند.

Go هیچ بسته(هایی) را برای تولید UUID ارائه نمی کند. از آنجایی که اکثر سیستم عامل های مرتبط با یونیکس شامل برنامه uuidgen هستند، می توانید از بسته os برای تولید آنها استفاده کنید. همچنین می‌توانید از بسته Go خارجی مانند uuid Google یا بسته gouuid استفاده کنید.

تولید UUID با بسته OS

نمای کلی بسته OS

بسته Go os عملکردی را برای تعامل با سیستم عامل ماشین میزبان به روشی شبیه یونیکس فراهم می کند. می توانید دستورات را با زیر بسته exec بسته os اجرا کنید و خروجی برنامه های Go خود را بازیابی کنید.

این بسته های داخلی را در فایل Go خود وارد کنید تا UUID با بسته os تولید شود.

import (\n "fmt"\n "log"\n "os/exec"\n)\n

شما از بسته log برای ثبت خطاهای احتمالی و از بسته قالب بندی رشته ای fmt برای خروجی UUID تولید شده استفاده خواهید کرد.

می توانید دستورات را با متد Command بسته exec اجرا کنید. متد Output خروجی فرمان را برمی گرداند.

func osExec() {\n generateUUID, err := exec.Command("uuidgen").Output()\n \n if err != nil {\n log.Fatal(err)\n }\n \n fmt.Println(generateUUID)\n}\n

تابع osExec یک UUID را با استفاده از دستور uuidgen تولید و چاپ می کند.

مطلب مرتبط:   نحوه نوشتن تست های سرتاسری با استفاده از Cypress در برنامه های React

ایجاد UUID با بسته UUID Google

پیش نمایش گوگل uuid

بسته Google uuid UUID ها را بر اساس RFC 4122 و DCE 1.1 Authentication and Security Services تولید و بررسی می کند.

این دستور ترمینال را در دایرکتوری پروژه خود اجرا کنید تا بسته uuid به عنوان یکی از وابستگی های پروژه شما نصب شود.

go get github.com/google/uuid\n

بسته uuid را برای تولید UUID و بسته fmt را برای خروجی UUID به کنسول خود وارد کنید.

import (\n "fmt"\n "github.com/google/uuid"\n)\n

شما می توانید یک UUID با روش جدید بسته uuid ایجاد کنید. متد New یک UUID تصادفی برمی گرداند و می توانید از روش String آن برای به دست آوردن نمایش رشته ای آن استفاده کنید.

func googleUUID() {\n uuidValue := uuid.New()\n fmt.Println(uuidValue.String())\n}\n

تابع googleUUID از روش New برای چاپ فرمت رشته ای یک UUID تصادفی استفاده می کند.

تولید UUID با بسته GoUUID

پیش نمایش gouuid

بسته gouuid ساختارها و توابع UUID تغییرناپذیر را برای تولید UUID های NewV3، NewV4 و NewV5 و تجزیه UUID ها همانطور که در RFC 4122 مشخص شده است، فراهم می کند.

این دستور را در ترمینال دایرکتوری کاری خود اجرا کنید تا بسته gouuid را در وابستگی های پروژه خود نصب کنید.

go get github.com/nu7hatch/gouuid\n

برای تولید UUID بسته‌های fmt و gouuid را با نام مستعار uuid (معمولی) وارد کنید.

import (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n

می توانید UUID های نسخه 4 را با روش NewV4 ایجاد کنید که UUID یا یک خطا را برمی گرداند.

func generateV4(){\n v4UUID, err := uuid.NewV4()\n \n if err != nil {\n fmt.Println(err)\n }\n \n fmt.Println(v4UUID)\n}\n

متدgeneV4 UUID تولید شده را از روش NewV4 بسته gouuid چاپ می کند.

مطلب مرتبط:   بهترین هدیه برای برنامه نویسان

به طور مشابه، می توانید UUID های نسخه 5 را با روش NewV5 تولید کنید. متد NewV5 یک URL فضای نام UUID و یک تکه بایت را می گیرد و نسخه 5 UUID تولید شده را برمی گرداند.

func generateV5(){\n v5UUID, err := uuid.NewV5(uuid.NamespaceURL, []byte("go.dev"))\n \n if err != nil {\n fmt.Println(err)\n }\n \n fmt.Println(v5UUID)\n}\n

تابع generateV5 نسخه پنج UUID تولید شده را بعد از تولید UUID با روش NewV5 در صورت عدم وجود خطا در تولید چاپ می کند.

شما می توانید UUID با اکثر زبان های برنامه نویسی تولید کنید

UUID ها برای بسیاری از موارد استفاده مفید هستند، بنابراین در برنامه های روزمره محبوب هستند. بیشتر زبان های برنامه نویسی قابلیتی برای تولید UUID در کتابخانه های استاندارد یا بسته های اکوسیستم خود ارائه می کنند.