Gopher Academy
3.34K subscribers
920 photos
40 videos
280 files
2.02K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🎯 لیستی از بهترین کتاب های که توی حوژه گولنگ هست 🎯
خیلی از کتاب ها رو میتونین از سایت
b-ok.asia
دانلود کنین
.
Awesome Go Books
.
https://github.com/dariubs/GoBooks
.

🔰 @gopher_academy
package main

import ( "fmt" ) func main() { var a = [...]int{0,1:0} const len = len(a) fmt.Println(len) }
Anonymous Quiz
12%
0
12%
1
42%
2
33%
Error

🔰 @gopher_academy

🔰 @gopher_academy
نات فریدمن
همه توسعه دهندگان باید در استفاده از GitHub آزاد باشند ، مهم نیست که در کجا زندگی می کنند. در عین حال ، GitHub به قوانین ایالات متحده احترام می گذارد و از آن تبعیت می کند ، به این معنی که تحریم های دولت توانایی ما در ارائه طیف گسترده ای از خدمات GitHub به توسعه دهندگان را محدود کرده است.
امروز ما در حال دستیابی به موفقیت هستیم: ما مجوزی را از دولت ایالات متحده برای پیشنهاد GitHub به توسعه دهندگان در ایران بدست آورده ایم. این شامل کلیه خدمات برای افراد و سازمانها ، خصوصی و دولتی ، رایگان و پولی است.
پس اینجا چه اتفاقی افتاده است؟
ایالات متحده مدت هاست که تحریم های گسترده ای را علیه چندین کشور از جمله ایران اعمال کرده است. این تحریم ها هر شرکت آمریکایی را از تجارت با هر کسی در یک کشور تحریم شده منع می کند. (این تحریم ها همچنین می تواند در مورد شرکت های غیرآمریکایی اعمال شود که فعالیت آنها بطور مستقیم یا غیرمستقیم شامل ایالات متحده می شود ، از جمله صرفاً پرداختهایی که از طریق بانکهای ایالات متحده یا سازوکارهای پرداخت مانند ویزا جریان دارد.
و بنابراین در سال 2019 ، GitHub محدودیت های دسترسی را برای توسعه دهندگان در ایران و چندین کشور دیگر اعمال کرد تا از قوانین تحریم های ایالات متحده پیروی کنند. در همان زمان ، مطابق با هدف خود برای ایجاد GitHub در دسترس همه ، بلافاصله دو اقدام دیگر نیز انجام دادیم:
اولاً ، حتی با رعایت تحریم ها ، ما تمام تلاش خود را کردیم تا GitHub را تا حد امکان در دسترس هر چه بیشتر توسعه دهندگان قرار دهیم ، این باعث می شود که repos عمومی حتی در کشورهای تحریم شده نیز در دسترس باشد.
و به طور جداگانه ، پرونده خود را به دفتر کنترل دارایی های خارجی (OFAC) ، بخشی از وزارت خزانه داری ایالات متحده رساندیم و پروسه طولانی و فشرده دفاع از دسترسی گسترده و آزاد به GitHub را در کشورهای تحریم شده آغاز کردیم.
در طی دو سال ، ما توانستیم نشان دهیم که چگونه استفاده کنندگان توسعه دهنده GitHub پیشرفت انسانی ، ارتباطات بین المللی و سیاست خارجی پایدار ایالات متحده در زمینه ارتقا speech آزادی بیان و جریان آزاد اطلاعات را پیشرفت می دهند. ما از OFAC برای تعامل که منجر به این نتیجه عالی برای توسعه دهندگان شده است سپاسگزاریم.
ما در حال بازگرداندن کلیه محدودیت های توسعه دهندگان در ایران و بازگرداندن دسترسی کامل به حساب های آسیب دیده هستیم. برای توسعه دهندگانی که سوالاتی دارند یا در مورد حساب های خود به کمک نیاز دارند ، لطفاً از صفحه راهنمای ما دیدن کنید.
ما هنوز کارهای بیشتری برای انجام داریم. ما می خواهیم که هر توسعه دهنده ای بتواند در GitHub همکاری کند و با دولت ایالات متحده در تلاش هستیم تا مجوزهای مشابه را برای توسعه دهندگان در کریمه و سوریه نیز بدست آوریم. گوش به زنگ باشید.

🔰 @gopher_academy
🎯 کتابخانه pflag یک جایگزین برای کتابخانه flag هست ، با استفاده از Flags به سبک POSIX / GNU.🎯

About —> Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
https://github.com/ogier/pflag

🔴Install by running:
🔹go get github.com/ogier/pflag

🔴Run tests by running:
🔹go test github.com/ogier/pflag


🔰 @gopher_academy
🎯The basic classes of complexity are:🎯

🔴O(1): a field access, array or map lookup
🔹Advice: don't worry about it (but keep in mind the constant factor.)

🔴O(log n): binary search
🔹Advice: only a problem if it's in a loop

🔴O(n): simple loop
🔹Advice: you're doing this all the time

🔴O(n log n): divide-and-conquer, sorting
🔹Advice: still fairly fast

🔴O(n*m): nested loop / quadratic
🔹Advice: be careful and constrain your set sizes
🔹Anything else between quadratic and subexponential
🔹Advice: don't run this on a million rows

🔴O(b ^ n), O(n!): exponential and up


🔰 @gopher_academy
Big-O Complexity Chart

🔰 @gopher_academy
Common Data Structure Operations

🔰 @gopher_academy
Array Sorting Algorithms

🔰 @gopher_academy
Get the Official Big-O Cheat Sheet Poster

🔰 @gopher_academy
func main() {
R1:= make(chan string)
R2:= make(chan string) go portal1(R1) go portal2(R2) select{ case op1:= <- R1: fmt.Println(op1) //aa11 case op2:= <- R2: fmt.Println(op2) //bb22 } }
Anonymous Quiz
31%
aa11
44%
bb22
25%
error
func main() {
mychannel:= make(chan int)
select{ case <- mychannel: } }
Anonymous Quiz
47%
fatal error
53%
0
func main() {

mychannel:= make(chan int) select{ case <- mychannel: default:fmt.Println("Not found") } }
Anonymous Quiz
41%
error
59%
not found
Channel in Golang

🔰 @gopher_academy
Only to receive data
c1:= make(<- chan bool)

Only to send data
c2:= make(chan<-bool)


🔰 @gopher_academy
🎯تبدیل کانال دو طرفه به کانال یک جهته🎯

🔴در زبان Go ، شما مجاز هستید یک کانال دو طرفه را به کانال یک جهته تبدیل کنید ، یا به عبارت دیگر ، می توانید یک کانال دو طرفه را به یک کانال فقط دریافت یا فقط ارسال کنید ، اما بالعکس امکان پذیر نیست.

🔴استفاده از کانال یک طرفه:
🔴از کانال یک طرفه برای ایجاد نوع ایمنی برنامه استفاده می شود ، به طوری که برنامه خطای کمتری ایجاد می کند. یا وقتی می خواهید کانالی ایجاد کنید که فقط می تواند داده ارسال یا دریافت کند ، می توانید از یک کانال یک جهته استفاده کنید.

همانطور که در برنامه زیر نشان داده شده است:👇🏻👇🏻👇🏻

🔰 @gopher_academy
package main

import "fmt"

func sending(s chan<- string) {
s <- "gopher_academy"
}

func main() {

mychanl := make(chan string)

go sending(mychanl)

fmt.Println(<-mychanl)
}

🔰 @gopher_academy
🔺 https://golangforall.com/en/

🎯دوستان این سایت مقاله‌های مختصر مفیدی داره🎯

🔰 @gopher_academy
🎯یادگیری گوانگ در هفت روز🎯
🔴 https://github.com/PacktPublishing/Advanced-Go-Programming-in-7-Days

🔰 @gopher_academy