گرفتن ورودی از کاربر

Go متد ()Scanln را برای گرفتن ورودی از کاربر، در اختیار شما قرار می‌دهد. این متد، تمام کاراکترهایی را که شما در محیط برنامه نویسی تایپ می‌کنید تا زمانی که دکمه Enter را می‌زنید، می‌خواند. به برنامه زیر توجه کنید :

  1: package main
  2: 
  3: import "fmt"
  4: 
  5: func main() {
  6:     var name   string
  7:     var age    int
  8:     var height float32
  9: 
 10:     fmt.Print("Enter your name: ")
 11:     fmt.Scanln(&name);
 12: 
 13:     fmt.Print("Enter your age: ")
 14:     fmt.Scanln(&age);
 15: 
 16:     fmt.Print("Enter your height: ")
 17:     fmt.Scanln(&height);
 18: 
 19:     //Print a blank line
 20:     fmt.Println();
 21: 
 22:     //Show the details you typed
 23:     fmt.Printf("Name is %s.     \n", name)
 24:     fmt.Printf("Age is %d.      \n", age)
 25:     fmt.Printf("Height is %.1f. \n", height)
 26: }
Enter your name: John
Enter your age: 18
Enter your height: 160.5

Name is John.
Age is 18.
Height is 160.5.

ابتدا 3 متغیر را برای ذخیره داده در برنامه تعریف می‌کنیم (خطوط 6 و 7 و 8). برنامه از کاربر می‌خواهد که نام خود را وارد کند (خط 10). در خط 11 شما به عنوان کاربر نام خود را وارد می‌کنید. سپس برنامه از ما سن را سؤال می‌کند (خط 13) و در نهایت در خطوط 16 و 17، برنامه از ما قدمان (height) را می خواهد. در خط 20 هم یک خط فاصله به وسیله متد ()Println ایجاد کرده ایم تا بین ورودی های شما و خروجی فاصله ای جهت تفکیک ایجاد شود. حال برنامه را اجرا کرده و با وارد کردن مقادیر مورد نظر نتیجه را مشاهده کنید. یک نکته که نباید فراموش شود، وجود علامت & قبل از نام متغیرها و در داخل متد ()Scanln است (خطوط 11، 14 و 17). این وجود این عملگر در داخل متد ()Scanln و قبل از نام متغیرها به برنامه این امکان را می دهد، که منتظر بماند تا شما مقدار متغیر مربوطه را از طریق صفحه کلید و در هنگام اجرای برنامه وارد کنید.