ویژگی تصویر

ورودی ها در زبان Go

  /  GO   /  ورودی ها در Go
بنر تبلیغاتی الف
زبان GO

در این بخش به بررسی ورودی ها در Go می پردازیم، زبان برنامه‌نویسی Go، که به نام “Golang” نیز شناخته می‌شود، توسط گوگل توسعه داده شده است و به دلیل سادگی، کارایی و پشتیبانی از ویژگی‌های مدرن برنامه‌نویسی به سرعت محبوبیت زیادی پیدا کرده است. یکی از ویژگی‌های کلیدی Go که آن را از بسیاری زبان‌های دیگر متمایز می‌کند، مدیریت ورودی‌ها و خروجی‌ها است. در این مقاله، ما به نحوه دریافت ورودی‌ها در برنامه‌های Go خواهیم پرداخت. این ورودی‌ها می‌توانند از منابع مختلفی مانند کیبورد، فایل‌ها، یا شبکه باشند و به شما کمک خواهند کرد تا برنامه‌هایی کاربردی و پویا بنویسید.

ورودی‌ها در زبان Go، به‌ویژه برای تعامل با کاربر یا منابع خارجی، یکی از اصولی‌ترین بخش‌ها هستند که نیازمند مدیریت دقیق و هوشمندانه می‌باشند. در این مقاله، به بررسی انواع ورودی‌ها در Go، روش‌های دریافت ورودی از کاربران، و پردازش این ورودی‌ها خواهیم پرداخت. همچنین، نحوه استفاده از کتابخانه‌ها و توابع مختلف برای گرفتن ورودی‌های متنوع و تبدیل آنها به انواع داده‌ای مختلف را توضیح خواهیم داد.

1. دریافت ورودی از کنسول با استفاده از fmt.Scan و fmt.Scanln

در Go، یکی از ساده‌ترین روش‌ها برای دریافت ورودی از کاربر استفاده از توابع موجود در پکیج fmt است. این پکیج توابعی برای خواندن ورودی از کنسول فراهم می‌کند که از جمله آنها می‌توان به fmt.Scan و fmt.Scanln اشاره کرد.

fmt.Scan:

این تابع به شما اجازه می‌دهد تا ورودی‌ها را از کاربر دریافت کرده و آنها را به متغیرهای مختلف اختصاص دهید. نحوه استفاده از این تابع به شرح زیر است:

تماشا در حالت تمام صفحه

در مثال بالا، از fmt.Scan برای دریافت نام و سن کاربر استفاده شده است. در این تابع، هر ورودی که کاربر وارد می‌کند به متغیرهایی که به آن‌ها ارجاع داده شده است اختصاص داده می‌شود. توجه کنید که Scan ورودی‌ها را به همان نوع داده‌ای که در کد مشخص کرده‌ایم، تبدیل می‌کند.

fmt.Scanln:

تفاوت عمده این تابع با fmt.Scan در این است که Scanln ورودی را تا زمانی که کاربر کلید Enter را فشار دهد، می‌خواند و پس از آن خط جدید (new line) را اضافه می‌کند. استفاده از این تابع به شرح زیر است:

تماشا در حالت تمام صفحه

در این مثال، fmt.Scanln از کاربر نام می‌گیرد و آن را به متغیر name اختصاص می‌دهد.

2. استفاده از bufio.Scanner برای ورودی‌های بزرگ

در صورتی که نیاز به دریافت ورودی‌های بزرگ یا چند خطی داشته باشیم، استفاده از bufio.Scanner مناسب‌تر است. این پکیج به شما اجازه می‌دهد که ورودی‌های چند خطی را به راحتی بخوانید و پردازش کنید.

تماشا در حالت تمام صفحه

در این کد، از bufio.NewScanner برای خواندن ورودی از کنسول استفاده شده است. این اسکنر ورودی‌ها را خط به خط می‌خواند و تا زمانی که کاربر با فشار دادن Ctrl+D (در سیستم‌های UNIX) ورودی را تمام نکند، به خواندن ادامه می‌دهد.

3. دریافت ورودی از فایل

در Go، خواندن ورودی از فایل یکی دیگر از روش‌های معمول برای دریافت داده‌ها است. برای این کار از پکیج‌های os و bufio استفاده می‌شود. در این بخش، نحوه خواندن ورودی از یک فایل متنی را بررسی خواهیم کرد.

تماشا در حالت تمام صفحه

در این مثال، ابتدا فایل input.txt باز می‌شود و سپس خط به خط ورودی‌های آن خوانده شده و چاپ می‌شود. این روش برای پردازش فایل‌های متنی مفید است.

4. استفاده از os.Args برای ورودی‌های خط فرمان

گاهی اوقات ممکن است بخواهیم ورودی‌هایی را از خط فرمان دریافت کنیم. در این حالت، از آرگومان‌های خط فرمان (Command-line arguments) استفاده می‌کنیم که در پکیج os موجود است.

تماشا در حالت تمام صفحه

در این کد، تمامی آرگومان‌هایی که به برنامه از خط فرمان داده شده است، در os.Args ذخیره می‌شوند. اولین مقدار در این آرایه نام برنامه است و سایر مقادیر آرگومان‌های وارد شده توسط کاربر می‌باشند.

5. پردازش ورودی‌ها و مدیریت خطاها

هنگامی که ورودی‌ها را دریافت می‌کنید، ضروری است که آنها را پردازش کرده و اطمینان حاصل کنید که داده‌های صحیح وارد شده‌اند. برای این کار می‌توانید از دستورات شرطی برای اعتبارسنجی ورودی‌ها استفاده کنید.

تماشا در حالت تمام صفحه

در این مثال، ورودی از کاربر به رشته تبدیل می‌شود و سپس با استفاده از strconv.Atoi به یک عدد صحیح تبدیل می‌شود. اگر ورودی معتبر نباشد، پیامی به کاربر نمایش داده می‌شود.

ورودی‌ها بخش مهمی از هر برنامه هستند و در زبان Go، روش‌های مختلفی برای دریافت و پردازش ورودی‌ها وجود دارد. در این مقاله، ما روش‌های متداول دریافت ورودی از کاربر، فایل‌ها، و خط فرمان را بررسی کردیم. همچنین، نحوه اعتبارسنجی ورودی‌ها و مدیریت خطاها را نیز شرح دادیم. با استفاده از این روش‌ها می‌توانید برنامه‌هایی بنویسید که به خوبی با کاربران و داده‌های خارجی تعامل داشته باشند.

این نکات پایه‌ای و کاربردی به شما کمک می‌کند تا ورودی‌ها را به صورت مؤثر و ایمن در برنامه‌های Go خود پردازش کنید.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج