دوره H برنامه نویسی کاتلین (Kotlin)
درس دوم – ورودی و خروجی در کاتلین (Output/Input)
به همراه نکات مهم
در برنامههای کنسولی (شبیه CMD ویندوز)، مواردی به نام گرفتن ورودی از کاربر و چاپ خروجی وجود دارند؛ که در ادامه با آنها آَشنا خواهیم شد. همچنین در این مطلب، با نکات بسیار مهمی نیز آشنا خواهیم شد.
چاپ خروجی
همانطور که در مقدمه و مثال Hello World مشاهده کردید، از println برای چاپ مقدار استفاده میشود:
1 |
println("Welcome to FuLLKade.COM"); |
در واقع تابع println، مخفف print line بوده و این تابع به صورت اتوماتیک، یک خط جدید «\n» نیز به انتهای محتوای چاپ شده اضافه میکند. اما برای اینکه در انتهای محتوای چاپ شده، یک خط جدید چاپ نشود، میتوان از تابع print استفاده کرد: (و البته اگر در انتهای متن این تابع، مقدار «\n» را بنویسیم، خط جدید ایجاد خواهد شد؛ که println آن را به طور خودکار انجام میدهد)
1 2 |
print("Welcome to "); print("FuLLKade.COM"); |
چاپ یک متغیر به همراه محتوا
ممکن است بخواهیم متغیری را نیز به همراه محتوا نمایش دهیم. بدین منظور، میتوان از علامت + (جمع) یا $ (دلار)، استفاده کرد:
1 2 3 |
var num: Int = 42; println("Num is " + num); println("Num is $num"); |
در واقع استفاده از $، از PHP الهام گرفته شده است و شما میتوانید به راحتی با قرار دادن آن در ابتدای نام متغیر، آن را به راحتی درون مقدار یک رشته تزریق کنید تا کدتان حواناتر شود.
استفاده از Expression ها در String
میتوان با استفاده از $ و قرار دادن دو براکت { }، عبارتی را نوشت که ارزیابی شود:
1 2 3 4 |
var a: Int = 42; var b: Int = 8; println("Result: ${a+b}"); |
حالا a و b با یکدیگر جمع شده و در محتوا قرار میگیرند. و به عبارتی، این کار باعث میشود تا بتوان داخل براکتها، کد نوشت که خروجی آن به رشتهی موجود تزریق شود! زیبا نیست؟! 😀
البته این موارد، برای سادهتر نوشتن استفاده میشوند و در غیر اینصورت، ما میتوانیم مقدارها را با یکدیگر و به صورت جدا جمع کنیم! برای مثال، کد بالا را میتوانیم به صورت زیر بنویسیم:
1 2 3 4 |
var a: Int = 42; var b: Int = 8; println("Result: " + (a+b)); |
اما به نظرتان وقتی میتوان تمیز و زیبا نوشت، چرا همانند جاوا کثیف رفتار کنیم؟! اگر قرار است کاتلین یاد بگیریم و همانند جاوا بنویسیم، بنابراین بهتر است از همین جا یادگیری را متوقف کنیم!
گرفتن ورودی
سادهترین راه برای خواندن اطلاعات از ورودی استاندارد یک برنامه (کنسول)، استفاده از تابع readLine میباشد:
1 2 3 4 |
fun main(args: Array<String>) { val test = readLine(); println("Your input is $test"); } |
در کد بالا، ابتدا یک مقدار از کاربر گرفته و آن را درون test قرار میدهیم؛ سپس آن مقدار را به همراه یک محتوای دیگری چاپ کرده و به کاربر نمایش میدهیم.
تبدیل ورودی به یک متغیر عددی
ممکن است از کاربر یک int بگیریم! در این حالت، میتوانیم مقدار readLine را با استفاده از تابع toInt به Int تبدیل کنیم:
1 2 |
var age = readLine()!!.toInt(); println("You are $age years old"); |
علامت !! تعیین میکند که ورودی نمیتواند null باشد. دوباره باید گفت زیبا نیست؟! (البته با این موارد در آینده بیشتر آشنا خواهیم شد)
همچنین برای تبدیل به Double نیز میتوان از تابع toDouble و برای سایر موارد نیز به همان صورت استفاده کرد:
1 2 |
var dblTest = readLine()!!.toDouble(); var longTest: Long = readLine!!.toLong(); |
نظرات ثبت شده بدون دیدگاه