Ninja Learn | نینجا لرن
1.26K subscribers
95 photos
36 videos
11 files
306 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
Ninja Learn | نینجا لرن
میخوام شروع کنم درمورد golang هم پست بزارم
چرا ؟
ـGo که خیلی خوبه 🤔
اونایی که گفتن نه دوست دارم دلیلشون رو بدونم
2👎1
Ninja Learn | نینجا لرن
میخوام شروع کنم درمورد golang هم پست بزارم
نسبت به راعی اکثریت عمل میکنم
اگه 👎
درمورد همون پایتون و اینا پست میزارم
اگه 👍
درمورد go هم پست میزارم

(روی این پست ریکشن نزنید روی همون پستی که ریپلای زدم ریکشن بزنید)
👍36👎11👌2
سال نو شد
کریسمس رو به مسیحی های کانال تبریک میگم 😂❤️
🤣18👍7👎3🔥3
خب خب خب پکیج fmt در go

این پکیج (fmt) یکی از پراستفاده‌ترین و مهم‌ترین ابزارهای Go هست که برای کار با ورودی و خروجی‌ها استفاده میشه. بیاین ببینیم چطور کار می‌کنه.

توابع پرکاربرد fmt 🛠️
پکیج fmt یه سری توابع داره که هر کدوم برای هدف خاصی طراحی شدن. مهم‌ترینشون رو اینجا لیست کردم:

1⃣ Print و Println
برای چاپ اطلاعات روی کنسول:
ـPrint: متن‌ها رو بدون فاصله چاپ می‌کنه.

ـPrintln: بین متن‌ها فاصله می‌ذاره و یه خط جدید اضافه می‌کنه.


fmt.Print("Hello") fmt.Print("World") fmt.Println("Hello") fmt.Println("World") 

Output:
HelloWorld 
Hello
World

2⃣ Printf
برای چاپ با فرمت خاص:
name := "Ali"
age := 20 fmt.Printf(
"Name: %s,
Age: %d\n",
name, age
)

Output:
Name: Ali, Age: 20 

3⃣ Sprintf
مثل Printf عمل می‌کنه، ولی خروجی رو به جای چاپ، به صورت رشته برمی‌گردونه:

name := "Ali"
greeting := fmt.Sprintf(
"Hello,
%s!",
name
)
fmt.Println(greeting)

Output:
Hello, Ali! 

4⃣ Fprintf
اطلاعات رو به جای کنسول، به فایل یا هر io.Writer دیگه‌ای می‌فرسته:
file, _ := os.Create("output.txt")  
fmt.Fprintf(file, "Hello, %s!", "File")

5⃣ Scan و Scanf
برای گرفتن ورودی از کاربر:
ـScan: ورودی ساده رو می‌خونه.

ـScanf: ورودی رو با فرمت مشخص می‌خونه.


var name string  
fmt.Println("Enter your name:")
fmt.Scanln(&name)
fmt.Println("Your name is:", name)

var age int
fmt.Println("Enter your age:")
fmt.Scanf("%d", &age)
fmt.Println("Your age is:", age)

Output (Example input: "Ali", "20"):
Enter your name:
Your name is: Ali
Enter your age:
Your age is: 20

پشت پرده fmt: چطور کار می‌کنه؟ 🧐
حالا که با توابع آشنا شدی، بد نیست بدونی fmt پشت صحنه چطور داده‌ها رو مدیریت می‌کنه.

1⃣ استفاده از Interfaces
ـfmt از دو اینترفیس مهم استفاده می‌کنه:

ـStringer:
اگه struct این اینترفیس رو پیاده‌سازی کرده باشه، متد String() برای چاپ خروجی فراخوانی میشه.
ـError:
برای ارورها، متد Error() فراخوانی میشه.


مثال:
type Person struct {  
Name string
Age int
}

func (p Person) String() string {
return fmt.Sprintf("Name: %s, Age: %d", p.Name, p.Age)
}

func main() {
person := Person{"Ali", 20}
fmt.Println(person)
}

Output:
Name: Ali, Age: 20

2⃣ـ Reflection
پکیج fmt از پکیج reflect استفاده می‌کنه تا نوع داده‌ها رو در زمان اجرا بررسی کنه. یعنی وقتی %v یا سایر placeholders رو استفاده می‌کنی، fmt می‌تونه بفهمه چه نوع داده‌ای داری و چطور باید چاپش کنه.
x := 42  
fmt.Printf("Type: %T, Value: %v\n", x, x)

Output:
Type: int, Value: 42 

فرمت‌دهی داده‌ها با fmt 🎨
پکیج fmt قابلیت‌های فرمت‌دهی خیلی خوبی داره که بیشتر اوقات به کار میان:
اعداد
%d: عدد صحیح

%f: عدد اعشاری

%.2f: عدد اعشاری با 2 رقم اعشار

%b: نمایش در مبنای 2

%x: نمایش در مبنای 16


num := 42  
pi := 3.14159
fmt.Printf("Decimal: %d, Binary: %b, Hex: %x, Pi: %.2f\n", num, num, num, pi)

Output:
Decimal: 42, Binary: 101010, Hex: 2a, Pi: 3.14

رشته‌ها
%s: نمایش رشته

%q: رشته با کوتیشن

%+v: struct با نام فیلدها

%v: مقدار خام


type Person struct {  
Name string
Age int
}
p := Person{"Ali", 20}
fmt.Printf("Raw: %v, With Fields: %+v\n", p, p)

Output:
Raw: {Ali 20}, With Fields: {Name:Ali Age:20}

منطق (Boolean)
%t: مقدار True یا False رو چاپ می‌کنه.


isGoAwesome := true  
fmt.Printf("Is Go awesome? %t\n", isGoAwesome)

Output:
Is Go awesome? true 

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

#programming #go



🔆 CHANNEL | GROUP
👍15👎91
مثل اینکه امروز رو مود دیسلاکید 😂
👎18👏62🤣2
Ninja Learn | نینجا لرن
بچه های خوبی باشید پست بعدی راجب fastapi 😁😂
از اونجایی که سرعت fastapi بخش زیادیش برمیگرده به starlette پست بعدی راجب
Starllete package
هستش
🔥27👍7
Forwarded from Sadra Codes
هرچی بیشتر یاد می‌گیری، بیشتر احساس پوچی و نادانی می‌کنی. بنظرم این زمانی خوبه که این حس تو رو حریص‌تر کنه.

در مسیری قدم گذاشتی که دوست داشتی شبیه کسی بشی که آخر این مسیره. پس نباید صفحه اول خودت رو با فصل آخر اون شخص مقایسه کنی. :)
👍27
نظرتون چیه دراینده سرور دیسکوردم بیاریم بالا؟
(اگه ایده ای هم براش دارید میتونید تو کامنتا بگید)
احتمال خیلییی زیاد با کمک خودتون سرور رو درست کنیم.
👍22👎81
🔻از شروع کردن و یاد گرفتن ترس نداشته باشید و از این یاد گرفتن برای خودتون غول نسازین. با کمی زمان همه چیز حل میشه.

از «احسان»

#پند



🔆 CHANNEL | GROUP
👍203👌2👎1
🔻مثل کفتر از این شاخه به اون شاخه برنامه نویسی نپرید

از «سوروش GH»

#پند



🔆 CHANNEL | GROUP
👍15👎2👌2🔥1
تا حالا کلی مطالب خفن و کاربردی تو کانال NinjaLearn براتون آماده کردیم و الان صدها مطلب مختلف و جذاب داریم.

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

این شما و این لیست دسته‌بندی‌های کانال🔻:

🦫 #go: آموزش‌ها و نکات کاربردی زبان گو

💻 #programming: مطالب برنامه نویسی

🐍 #python: ترفندها و نکات پایتونی

🦄 #django: مطالب فریم‌ورک جنگو

⚡️ #fastapi: مطالب فریم ورک فست

🌐 #web: مطالب مرتبط به وب

📡 #network: مطالب مرتبط به شبکه

🗂️ #db: معرفی و نکات دیتابیس

🔖 #reference: معرفی مقاله و ویدیو

📢 #notif: اطلاع رسانی ها

#question: سوالات جالب در برنامه نویسی

🎊 #event: رویداد هایی که معرفی کردیم

🎬 #movie: معرفی فیلم و سریال

📚 #book: معرفی کتاب‌های تخصصی

🤖 #AI: مطالب مرتبط به هوش مصنوعی

📊 #ml: مطالب مرتبط به یادگیری ماشین

🛠️ #backend: آموزش‌ها و ترفندهای بک‌اند

🔒 #security: نکات امنیتی

#devops: مطالب مرتبط به دواپس

📺 #YouTube: ویدیوهای چنل یوتیوب ما


هر کدوم از این هشتگ‌ها برای یه موضوع خاص طراحی شده تا شما به راحتی بتونید محتوای مورد نظرتون رو پیدا کنید. دیگه لازم نیست کلی تو کانال بگردید 😊

اگه موضوع جدیدی به مطالب کانال اضافه بشه، حتماً تو این لیست قرار می‌گیره


راستی میتونید بنر کانال رو برای دوستاتون هم بفرستید تا اونا هم به جمع ما بپیوندن و از این مطالب مفید استفاده کنن 😉

NinjaLearn Banner 🥷🤝


#category



🔆 CHANNEL | GROUP
22👍1👎1🔥1
🔴 خبر خوب دارم
کانال دیسکوردم دارم اوکیش میکنم 😁
به زودی لینکشو بهتون میدم.
9👍5👎1
Ninja Learn | نینجا لرن pinned «تا حالا کلی مطالب خفن و کاربردی تو کانال NinjaLearn براتون آماده کردیم و الان صدها مطلب مختلف و جذاب داریم. از اونجایی که مطالب کانال خیلی متنوع و زیاد شده، تصمیم گرفتیم یه دسته‌بندی مرتب و منظم برای همه‌ی پست‌ها داشته باشیم تا شما عزیزان راحت‌تر بتونید محتوای…»
😂😂
حق خالص


🔆 CHANNEL | GROUP
🤣17👍3👎2🔥1