Go-āĻ āϏāĻā§āĻāϤāĻŋ
Go-āĻāϰ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻŽāĻĄā§āϞā§āϰ āĻļāĻā§āϤāĻŋ āĻ āύā§āĻŦā§āώāĻŖ āĻāϰā§āύ, āĻāĻžāϰā§āϝāĻāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻļāĻŋāĻā§āύ āĻāĻŦāĻ āĻĻā§āϰā§āϤ, āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāύ āĻā§āĻļāϞāĻā§āϞāĻŋ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰā§āύ⧎

Go-āϤ⧠āϏāĻŽāĻāϤāĻŋāϰ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋ
āĻāĻāϝā§āĻā§ āĻŦāĻž āĻāĻĻā§āĻŽ-āϏāĻŽāĻžāύā§āϤāϰāĻžāϞ āĻĢā§āϝāĻžāĻļāύ⧠āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āϏā§āĻŦāĻžāϧā§āύ āĻāĻžāĻā§āϰ āϏāĻāĻāĻ āύāĨ¤ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻšāϞ āĻāϧā§āύāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāϰ āĻāĻāĻāĻŋ āĻŽā§āϞāĻŋāĻ āĻĻāĻŋāĻ, āϝāĻž āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻŽāĻžāϞā§āĻāĻŋāĻā§āϰ āĻĒā§āϰāϏā§āϏāϰā§āϰ āĻĒā§āϰā§āĻŖ āϏāĻŽā§āĻāĻžāĻŦāύāĻžāĻā§ āĻāĻžāĻā§ āϞāĻžāĻāĻžāϤā§, āĻĻāĻā§āώāϤāĻžāϰ āϏāĻžāĻĨā§ āϏāĻŋāϏā§āĻā§āĻŽ āϰāĻŋāϏā§āϰā§āϏ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāĻŋāϞ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻĄāĻŋāĻāĻžāĻāύāĻā§ āϏāĻšāĻ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤
Go, Golang āύāĻžāĻŽā§āĻ āĻĒāϰāĻŋāĻāĻŋāϤ , āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞāĻāĻžāĻŦā§ āĻāĻžāĻāĻĒ āĻāϰāĻž, āϏāĻāĻāϞāĻŋāϤ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āĻāĻžāώāĻž āϝāĻž āϏāϰāϞāϤāĻž āĻāĻŦāĻ āĻĻāĻā§āώāϤāĻžāϰ āĻāĻĨāĻž āĻŽāĻžāĻĨāĻžāϝāĻŧ āϰā§āĻā§ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāϰ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻŽāĻĄā§āϞāĻāĻŋ āĻāύāĻŋ āĻšā§āϝāĻŧāĻžāϰā§āϰ āĻāĻŽāĻŋāĻāύāĻŋāĻā§āĻāĻŋāĻ āϏāĻŋāĻā§āϝāĻŧā§āύā§āϏāĻŋāϝāĻŧāĻžāϞ āĻĒā§āϰāϏā§āϏ (āϏāĻŋāĻāϏāĻĒāĻŋ) āĻĻā§āĻŦāĻžāϰāĻž āĻ āύā§āĻĒā§āϰāĻžāĻŖāĻŋāϤ, āĻāĻāĻāĻŋ āĻāύā§āώā§āĻ āĻžāύāĻŋāĻāϤāĻž āϝāĻž āϏā§āϏā§āĻĒāώā§āĻ āĻŦāĻžāϰā§āϤāĻž-āĻĒāĻžāϏāĻŋāĻ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻāύā§āϤāĻāϏāĻāϝā§āĻā§āϤ āϏā§āĻŦāĻžāϧā§āύ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āϤā§āϰāĻŋāϰ āĻĒā§āϰāĻāĻžāϰ āĻāϰā§āĨ¤ Go-āϤ⧠āϏāĻŽāĻāϤāĻŋ āĻāϰāĻāĻāĻŋāύ, āĻā§āϝāĻžāύā§āϞ āĻāĻŦāĻ 'āύāĻŋāϰā§āĻŦāĻžāĻāύ' āĻŦāĻŋāĻŦā§āϤāĻŋāϰ āϧāĻžāϰāĻŖāĻžāϰ āĻāĻžāϰāĻĒāĻžāĻļā§ āĻā§āϰā§āĨ¤
āĻāĻ āĻŽā§āϞ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āϏāĻšāĻā§ āĻāĻŦāĻ āύā§āϝā§āύāϤāĻŽ āĻŦāϝāĻŧāϞāĻžāϰāĻĒā§āϞā§āĻ āĻā§āĻĄ āϏāĻš āĻ āϤā§āϝāύā§āϤ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋ āϞāĻŋāĻāϤ⧠āĻĻā§āϝāĻŧ āϝāĻāύ āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ āϏā§āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϝā§āĻāĻžāϝā§āĻ āĻāĻŦāĻ āĻāĻžāĻā§āϰ āĻŽāϧā§āϝ⧠āϏāĻŽāύā§āĻŦāϝāĻŧ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤ AppMaster- āĻ, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž āĻāĻāĻāĻŋ āĻāĻŋāĻā§āϝā§āϝāĻŧāĻžāϞ āĻŦā§āϞā§āĻĒā§āϰāĻŋāύā§āĻ āĻĄāĻŋāĻāĻžāĻāύāĻžāϰ āĻāĻŦāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āϏā§āϰā§āϏ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āϏā§āĻā§āϞā§āĻŦāϞ, āĻāĻā§āĻ-āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠Go-āĻāϰ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻŽāĻĄā§āϞā§āϰ āĻļāĻā§āϤāĻŋāĻā§ āĻāĻžāĻā§ āϞāĻžāĻāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻā§āϰā§āĻāĻŋāύāϏ: āĻĻā§āϝ āĻŦāĻŋāϞā§āĻĄāĻŋāĻ āĻŦā§āϞāĻ āĻ āĻĢ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ
Go-āϤā§, āĻāϰāĻāĻāĻŋāύā§āϰ āϧāĻžāϰāĻŖāĻžāϰ āĻāĻžāϰāĻĒāĻžāĻļā§ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, Go āϰāĻžāύāĻāĻžāĻāĻŽ āĻļāĻŋāĻĄāĻŋāĻāϞāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āϞāĻžāĻāĻāĻāϝāĻŧā§āĻ āĻĨā§āϰā§āĻĄā§āϰ āĻŽāϤ⧠āĻāĻžāĻ āĻžāĻŽā§āĨ¤ āĻāĻāϏ āĻĨā§āϰā§āĻĄā§āϰ āϤā§āϞāύāĻžāϝāĻŧ āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋ āĻ āĻŦāĻŋāĻļā§āĻŦāĻžāϏā§āϝāĻāĻžāĻŦā§ āϏāϏā§āϤāĻž, āĻāĻŦāĻ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž āĻ āĻĒā§āϰāϤāĻŋāϰā§āϧā§āϝ āϏāĻŋāϏā§āĻā§āĻŽ āϏāĻāϏā§āĻĨāĻžāύ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āĻāĻāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§ āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āĻŦāĻž āĻāĻŽāύāĻāĻŋ āϞāĻā§āώ āϞāĻā§āώ āϏāĻšāĻā§āĻ āĻāύā§āĻŽ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻŋ āĻā§āϰā§āĻāĻŋāύ āϤā§āϰāĻŋ āĻāϰāϤā§, āĻļā§āϧ⧠'go' āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻĻāĻŋāϝāĻŧā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻāϞā§āϰ āĻāĻĒāϏāϰā§āĻ āĻĻāĻŋāύāĨ¤ āĻāĻšā§āĻŦāĻžāύā§āϰ āĻĒāϰā§, āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻŦāĻžāĻāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āϏāĻžāĻĨā§ āĻāĻāϝā§āĻā§ āĻāĻžāϰā§āϝāĻāϰ āĻšāĻŦā§:
func printMessage(message string) { fmt.Println(message) } func main() { go printMessage("Hello, concurrency!") fmt.Println("This might print first.") }
āϞāĻā§āώā§āϝ āĻāϰā§āύ āϝ⧠āĻŽā§āĻĻā§āϰāĻŋāϤ āĻŦāĻžāϰā§āϤāĻžāĻā§āϞāĻŋāϰ āĻā§āϰāĻŽ āύāĻŋāϰā§āϧāĻžāϰāĻ āύāϝāĻŧ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻŦāĻžāϰā§āϤāĻžāĻāĻŋ āĻĒā§āϰāĻĨāĻŽāĻāĻŋāϰ āĻāĻā§ āĻŽā§āĻĻā§āϰāĻŋāϤ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰ⧠āϝ⧠āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻŦāĻžāĻāĻŋ āĻ āĻāĻļāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāϝā§āĻā§ āĻāϞ⧠āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āĻāĻĻā§āĻļ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ āĻā§ āϰāĻžāύāĻāĻžāĻāĻŽ āĻļāĻŋāĻĄāĻŋāĻāϞāĻžāϰ āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāĻŦāĻ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĻāĻžāϝāĻŧā§, āϏāĻŋāĻĒāĻŋāĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻŦāĻ āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻĒā§āϰāϏāĻā§āĻ āϏā§āĻāĻāĻā§āϞāĻŋ āĻāĻĄāĻŧāĻžāύā§āϰ āϏāĻŽāϝāĻŧ āϏā§āĻā§āϞāĻŋ āĻāĻāϝā§āĻā§ āĻāϞ⧠āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§ā§ˇ Go-āĻāϰ āϏāĻŽāϝāĻŧāϏā§āĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻā§āϰ-āĻā§āϰāĻŋāϰ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āύāĻŋāϝāĻŧā§āĻ āĻāϰ⧠āĻāĻŦāĻ āϏāĻšāϝā§āĻāĻŋāϤāĻžāĻŽā§āϞāĻāĻāĻžāĻŦā§ āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§, āϝāĻžāϤ⧠āϤāĻžāϰāĻž āϝāĻāύ āĻāĻĒāϝā§āĻā§āϤ āĻšāϝāĻŧ āϤāĻāύ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻĻā§āϝāĻŧ, āϝā§āĻŽāύ āĻĻā§āϰā§āĻ-āĻāϞāĻŽāĻžāύ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ āϏāĻŽāϝāĻŧ āĻŦāĻž āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻā§āύā§āĻā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧāĨ¤
āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠goroutines, āϝāĻĻāĻŋāĻ āĻĻāĻā§āώ, āĻ āϏāϤāϰā§āĻāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻāĻŋāϤ āύāϝāĻŧ. āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāĻžāύā§āϰ āϏā§āĻĨāĻžāϝāĻŧāĻŋāϤā§āĻŦ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāϤ⧠āĻāĻŦāĻ āϰāĻŋāϏā§āϰā§āϏ āϞāĻŋāĻ āĻāĻĄāĻŧāĻžāϤ⧠āĻāĻĒāύāĻžāϰ āĻā§āϰā§āĻāĻŋāύā§āϰ āĻā§āĻŦāύāĻāĻā§āϰ āĻā§āϰā§āϝāĻžāĻ āĻāϰāĻž āĻāĻŦāĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻž āĻ āĻĒāϰāĻŋāĻšāĻžāϰā§āϝāĨ¤ āϝ⧠āĻā§āύ⧠āϏāĻŽāϝāĻŧā§ āϏāĻā§āϰāĻŋāϝāĻŧ āĻā§āϰā§āĻāĻŋāύā§āϰ āϏāĻāĻā§āϝāĻž āϏā§āĻŽāĻŋāϤ āĻāϰāϤ⧠āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āύāĻŋāϝāĻŧā§āĻā§āϰ āϧāϰāĻŖ, āϝā§āĻŽāύ āĻāϰā§āĻŽā§ āĻĒā§āϞ, āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰāĻž āĻāĻāĻŋāϤāĨ¤
āĻā§āϝāĻžāύā§āϞ: āĻā§āϰā§āĻāĻŋāύā§āϰ āĻŽāϧā§āϝ⧠āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻāĻŋāĻ āĻāĻŦāĻ āϝā§āĻāĻžāϝā§āĻ
āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻšāϞ Go-āĻāϰ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻŽāĻĄā§āϞā§āϰ āĻāĻāĻāĻŋ āĻŽā§āϞāĻŋāĻ āĻ āĻāĻļ, āϝāĻž goroutineāĻā§āϞāĻŋāĻā§ āϝā§āĻāĻžāϝā§āĻ āĻāϰāϤ⧠āĻāĻŦāĻ āύāĻŋāϰāĻžāĻĒāĻĻā§ āϤāĻžāĻĻā§āϰ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻā§ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ⧎ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻā§-āϤ⧠āĻĒā§āϰāĻĨāĻŽ-āĻļā§āϰā§āĻŖā§āϰ āĻŽāĻžāύ āĻāĻŦāĻ āĻā§āώāĻŽāϤāĻž āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ āĻŦāĻžāĻĢāĻžāϰ āĻāĻāĻžāϰ āϏāĻš 'āĻŽā§āĻ' āĻĢāĻžāĻāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§:
// Unbuffered channel ch := make(chan int) // Buffered channel with a capacity of 5 bufCh := make(chan int, 5)
āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āώāĻŽāϤāĻž āϏāĻš āĻāĻāĻāĻŋ āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āĻā§āϝāĻžāύā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻā§āϝāĻžāύā§āϞ⧠āĻāĻāĻžāϧāĻŋāĻ āĻŽāĻžāύ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ, āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻžāϰāĻŋ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒāϰāĻŋāĻŦā§āĻļāύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻĨā§āϰā§āĻĒā§āĻ āĻŦāĻžāĻĄāĻŧāĻžāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϤāĻŦā§ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻ āĻŦāĻļā§āϝāĻ āĻĄā§āĻĄāϞāĻ āĻŦāĻž āĻ āύā§āϝāĻžāύā§āϝ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻā§āĻļāύ āϏāĻŽāϏā§āϝāĻž āĻĒā§āϰāĻŦāϰā§āϤāύ āύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ āϏāϤāϰā§āĻ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§āĨ¤ āĻā§āϝāĻžāύā§āϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŽāĻžāύ āĻĒāĻžāĻ āĻžāύ⧠'<-' āĻ āĻĒāĻžāϰā§āĻāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻŽā§āĻĒāĻžāĻĻāĻŋāϤ āĻšāϝāĻŧ:
// Sending the value 42 through the channel ch <- 42 // Sending values in a for loop for i := 0; i < 10; i++ { ch <- i }
āĻāĻāĻāĻāĻžāĻŦā§, āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻĨā§āĻā§ āĻŽāĻžāύāĻā§āϞāĻŋ āĻā§āϰāĻšāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻ '<-' āĻ āĻĒāĻžāϰā§āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤāĻŦā§ āĻĄāĻžāύāĻĻāĻŋāĻā§ āĻā§āϝāĻžāύā§āϞā§āϰ āϏāĻžāĻĨā§:
// Receiving a value from the channel value := <-ch // Receiving values in a for loop for i := 0; i < 10; i++ { value := <-ch fmt.Println(value) }
āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋāĻā§ āϝā§āĻāĻžāϝā§āĻ āĻāĻŦāĻ āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻšāĻ āĻāĻŋāύā§āϤ⧠āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻŦāĻŋāĻŽā§āϰā§āϤāϤāĻž āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āϰāĻž āĻļā§āϝāĻŧāĻžāϰā§āĻĄ-āĻŽā§āĻŽāϰāĻŋ āĻŽāĻĄā§āϞāĻā§āϞāĻŋāϰ āϏāĻžāϧāĻžāϰāĻŖ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻāĻĄāĻŧāĻžāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻĄā§āĻāĻž āϰā§āϏ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋāϰ āϏāĻŽā§āĻāĻžāĻŦāύāĻž āĻšā§āϰāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻŋ āĻĻā§āώā§āĻāĻžāύā§āϤ āĻšāĻŋāϏāĻžāĻŦā§, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻĻāĻžāĻšāϰāĻŖāĻāĻŋ āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰā§āύ āϝā§āĻāĻžāύ⧠āĻĻā§āĻāĻŋ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĢāĻžāĻāĻļāύ āĻĻā§āĻāĻŋ āϏā§āϞāĻžāĻāϏā§āϰ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞāĻŋāĻā§ āϝā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻĢāϞāĻžāĻĢāϞāĻā§āϞāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻžāĻ āĻāϰāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§:
func sumSlice(slice []int, result *int) { sum := 0 for _, value := range slice { sum += value } *result = sum } func main() { slice1 := []int{1, 2, 3, 4, 5} slice2 := []int{6, 7, 8, 9, 10} sharedResult := 0 go sumSlice(slice1, &sharedResult) go sumSlice(slice2, &sharedResult) time.Sleep(1 * time.Second) fmt.Println("Result:", sharedResult) }
āĻāĻĒāϰā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖāĻāĻŋ āĻĄā§āĻāĻž āϰā§āϏā§āϰ āĻāύā§āϝ āĻĻāĻžāϝāĻŧā§ āĻāĻžāϰāĻŖ āĻāĻāϝāĻŧ āĻā§āϰā§āĻāĻŋāύ āĻāĻāĻ āĻāĻžāĻ āĻāϰāĻž āĻŽā§āĻŽāϰāĻŋ āĻ āĻŦāϏā§āĻĨāĻžāύ⧠āϞā§āĻāĻžāĨ¤ āĻā§āϝāĻžāύā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϝā§āĻāĻžāϝā§āĻ āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ āĻāĻ āϧāϰāύā§āϰ āϏāĻŽāϏā§āϝāĻž āĻĨā§āĻā§ āĻŽā§āĻā§āϤ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§:
func sumSlice(slice []int, ch chan int) { sum := 0 for _, value := range slice { sum += value } ch <- sum } func main() { slice1 := []int{1, 2, 3, 4, 5} slice2 := []int{6, 7, 8, 9, 10} ch := make(chan int) go sumSlice(slice1, ch) go sumSlice(slice2, ch) result1 := <-ch result2 := <-ch fmt.Println("Result:", result1 + result2) }
Go-āĻāϰ āĻŦāĻŋāϞā§āĻ-āĻāύ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻĢāĻŋāĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻĄā§āĻā§āϞāĻĒāĻžāϰāϰāĻž āϏāĻšāĻā§ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻāĻŦāĻ āĻŽāĻžāĻĒāϝā§āĻā§āϝ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻā§āϰā§āĻāĻŋāύ āĻāĻŦāĻ āĻā§āϝāĻžāύā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§, āϤāĻžāϰāĻž āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ āĻŽāĻžāϰā§āĻāĻŋāϤ āĻā§āĻĄ āĻŦāĻāĻžāϝāĻŧ āϰā§āĻā§ āĻāϧā§āύāĻŋāĻ āĻšāĻžāϰā§āĻĄāĻāϝāĻŧā§āϝāĻžāϰā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āϏāĻŽā§āĻāĻžāĻŦāύāĻžāĻā§ āĻāĻžāĻā§ āϞāĻžāĻāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤ AppMaster āĻ, Go āϞā§āϝāĻžāĻā§āĻā§āϝāĻŧā§āĻ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰāĻā§ āĻāϰāĻ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻāϰ⧠āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤā§, āϝāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āϏā§āϰā§āϏ āĻā§āĻĄ āĻā§āύāĻžāϰā§āĻļāύā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāύā§āύāϤ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāĻŦāĻ āϏā§āĻā§āϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋāϰ āĻāύā§āϝāĨ¤
Go-āĻ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āύāĻŋāĻĻāϰā§āĻļāύ
āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻĄāĻŋāĻāĻžāĻāύ āĻāĻŦāĻ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύā§āϰ āϏāĻŽāϝāĻŧ āĻāĻĻā§āĻā§āϤ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋāϰ āĻĒā§āύāϰā§āĻŦā§āϝāĻŦāĻšāĻžāϰāϝā§āĻā§āϝ āϏāĻŽāĻžāϧāĻžāύ āĻšāϞ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĨ¤ āĻāĻ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāϰāĻž āĻā§-āϤ⧠āϏāĻŦāĻā§āϝāĻŧā§ āĻāύāĻĒā§āϰāĻŋāϝāĻŧ āĻāĻŋāĻā§ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞāĻŋ āĻ āύā§āĻŦā§āώāĻŖ āĻāϰāĻŦ, āϝāĻžāϰ āĻŽāϧā§āϝ⧠āĻĢā§āϝāĻžāύ-āĻāύ/āĻĢā§āϝāĻžāύ-āĻāĻāĻ, āĻāϰā§āĻŽā§ āĻĒā§āϞ, āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§ āϰāϝāĻŧā§āĻā§ā§ˇ
āĻĢā§āϝāĻžāύ-āĻāύ/āĻĢā§āϝāĻžāύ-āĻāĻāĻ
āĻĢā§āϝāĻžāύ-āĻāύ/āĻĢā§āϝāĻžāύ-āĻāĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āϝāĻāύ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻĄā§āĻāĻž āϤā§āϰāĻŋāϰ (āĻĢā§āϝāĻžāύ-āĻāĻāĻ) āĻŦā§āĻļ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāĻžāĻ āĻĨāĻžāĻā§ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ⧠āϏā§āĻ āĻāĻžāĻāĻā§āϞāĻŋ (āĻĢā§āϝāĻžāύ-āĻāύ) āĻĨā§āĻā§ āĻĄā§āĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻāĻāĻ āĻāĻžāĻ āĻĨāĻžāĻā§āĨ¤ Go-āϤā§, āĻāĻĒāύāĻŋ āĻāϰāĻāĻāĻŋāύ āĻāĻŦāĻ āĻā§āϝāĻžāύā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻĢā§āϝāĻžāύ-āĻāĻāĻ āĻ āĻāĻļāĻāĻŋ āĻĄā§āĻāĻž āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāĻāĻžāϧāĻŋāĻ āĻā§āϰā§āĻāĻŋāύ āĻāĻžāϞ⧠āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āĻĢā§āϝāĻžāύ-āĻāύ āĻ āĻāĻļāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻ āĻā§āϝāĻžāύā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ ```go func FanIn(āĻā§āϝāĻžāύā§āϞ...<-chan int) <-chan int { var wg sync. WaitGroup out := make(chan int) wg. Add(len(channels)) for _, c := range āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ { go func(ch <-chan int) { n := āϰā§āĻā§āĻ ch { āĻāĻāĻ <- n } wg.Done() }(c) } go func() { wg.Wait() close(out) }( ) āϰāĻŋāĻāĻžāϰā§āύ āĻāĻāĻ } ```
āĻļā§āϰāĻŽāĻŋāĻ āĻĒā§āϞ
āĻāĻāĻāĻŋ āĻāϰā§āĻŽā§ āĻĒā§āϞ āĻšāϞ āĻā§āϰā§āĻāĻŋāύā§āϰ āĻāĻāĻāĻŋ āϏā§āĻ āϝāĻž āĻāĻāĻ āϏāĻžāĻĨā§ āĻāĻāĻ āĻāĻžāĻ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰā§, āύāĻŋāĻā§āĻĻā§āϰ āĻŽāϧā§āϝ⧠āĻāĻžāĻā§āϰ āĻāĻžāĻĒ āĻŦāύā§āĻāύ āĻāϰā§āĨ¤ āĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻāĻŋ āϏāĻā§āĻāϤāĻŋ āϏā§āĻŽāĻŋāϤ āĻāϰāϤā§, āϏāĻāϏā§āĻĨāĻžāύāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻāĻžāϰ⧠āĻā§āϰā§āĻāĻŋāύā§āϰ āϏāĻāĻā§āϝāĻž āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ Go-āϤā§, āĻāĻĒāύāĻŋ āĻā§āϰā§āĻāĻŋāύ, āĻā§āϝāĻžāύā§āϞ āĻāĻŦāĻ 'āϰā§āĻā§āĻ' āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄā§āϰ āϏāĻāĻŽāĻŋāĻļā§āϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻāϰā§āĻŽā§ āĻĒā§āϞ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ ``` go func WorkerPool(workers int, jobs <-chan Job, results chan<- āĻĢāϞāĻžāĻĢāϞ) { i := 0 āĻāϰ āĻāύā§āϝ; āĻāĻŽāĻŋ < āĻļā§āϰāĻŽāĻŋāĻ; i++ { go func() { āĻāĻžāĻā§āϰ āĻāύā§āϝ := āĻĒāϰāĻŋāϏāϰā§āϰ āĻāĻžāĻāϰāĻŋ { āĻĢāϞāĻžāĻĢāϞ <- job.Execute() } }() } } ```
āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ
āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻšāϞ āĻāĻžāϏā§āĻā§āϰ āĻāĻāĻāĻŋ āĻļā§āĻā§āĻāϞ āϝāĻž āĻā§āϰāĻŽāĻžāύā§āϏāĻžāϰ⧠āĻĄā§āĻāĻž āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϰā§, āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻžāϏā§āĻ āϤāĻžāϰ āĻāĻāĻāĻĒā§āĻāĻā§ āĻāύāĻĒā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻžāϏā§āĻā§ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ Go-āϤā§, āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻāĻŋ āĻāϰāĻāĻāĻŋāύā§āϰ āĻŽāϧā§āϝ⧠āĻĄā§āĻāĻž āĻĒāĻžāϏ āĻāϰāĻžāϰ āĻāύā§āϝ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϏāĻŋāϰāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻāĻāĻŋ āĻā§āϰā§āĻāĻŋāύ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻāĻāĻāĻŋ āϏā§āĻā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ ```āĻā§ āĻĢāĻžāĻā§āĻ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ(āĻāύāĻĒā§āĻ <-āĻā§āϝāĻžāύ āĻĄā§āĻāĻž) <-āĻā§āϝāĻžāύ āĻĢāϞāĻžāĻĢāϞ { āϏā§āĻā§āĻ1 := āϏā§āĻā§āĻ1(āĻāύāĻĒā§āĻ) āϏā§āĻā§āĻ2 := āϏā§āĻā§āĻ2(āϏā§āĻā§āĻ1) āϰāĻŋāĻāĻžāϰā§āύ āϏā§āĻā§āĻ3(āϏā§āĻā§āĻ2) } ```
āĻšāĻžāϰ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž
āĻšāĻžāϰ āϏā§āĻŽāĻŋāϤ āĻāϰāĻž āĻāĻāĻāĻŋ āĻā§āĻļāϞ āϝāĻž āĻāĻāĻāĻŋ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϏāĻŽā§āĻĒāĻĻ āĻā§āϰāĻšāĻŖ āĻāϰ⧠āĻŦāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰ⧠āϤāĻž āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āϏāĻŽā§āĻĒāĻĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāĻŦāĻ āĻāĻāĻžāϰāϞā§āĻĄāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻĒā§āϰāϤāĻŋāϰā§āϧ⧠āĻāĻžāϰā§āϝāĻāϰ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ Go-āϤā§, āĻāĻĒāύāĻŋ time.Ticker āĻāĻŦāĻ 'select' āϏā§āĻā§āĻāĻŽā§āύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻšāĻžāϰ āϏā§āĻŽāĻŋāϤāĻāϰāĻŖ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ ```go func RateLimiter(āĻ āύā§āϰā§āϧ <-āĻā§āϝāĻžāύ āĻ āύā§āϰā§āϧ, āϰā§āĻ āϏāĻŽāϝāĻŧāĨ¤ āϏāĻŽāϝāĻŧāĻāĻžāϞ) <-āĻā§āϝāĻžāύ āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž { āϏā§āĻŽāĻž := āϏāĻŽāϝāĻŧāĨ¤ āύāĻŋāĻāĻāĻŋāĻāĻžāϰ(āϰā§āĻ) āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž := āĻŽā§āĻ(āĻā§āϝāĻžāύ āϰā§āϏāĻĒāύā§āϏ) āĻā§ āĻĢāĻžāĻā§āĻ() { āĻŦāύā§āϧ āĻŦāύā§āϧ āĻāϰā§āύ(āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋ) āĻ āύā§āϰā§āϧā§āϰ āĻāύā§āϝ := āĻĒāϰāĻŋāϏāϰā§āϰ āĻ āύā§āϰā§āϧ { <-limit.C āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž <- req.Process() } }() āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻĢā§āϰāϤ } ```
āĻŦāĻžāϤāĻŋāϞāĻāϰāĻŖ āĻāĻŦāĻ āĻāĻžāĻāĻŽāĻāĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ
āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϤā§, āĻāĻŽāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋ āĻšāϤ⧠āĻĒāĻžāϰ⧠āϝā§āĻāĻžāύ⧠āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻ āĻĒāĻžāϰā§āĻļāύ āĻŦāĻžāϤāĻŋāϞ āĻāϰāϤ⧠āĻāĻžāύ āĻŦāĻž āĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻŽāϝāĻŧāϏā§āĻŽāĻž āϏā§āĻ āĻāϰāϤ⧠āĻāĻžāύāĨ¤ Go āĻĒā§āϰāϏāĻā§āĻ āĻĒā§āϝāĻžāĻā§āĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āϝāĻž āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻā§āϰā§āĻāĻŋāύā§āϰ āĻā§āĻŦāύāĻāĻā§āϰ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĻā§āϝāĻŧ, āĻāĻāĻŋ āϤāĻžāĻĻā§āϰ āĻŦāĻžāϤāĻŋāϞ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻāĻā§āϤ āĻĻā§āĻāϝāĻŧāĻž, āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŽāϝāĻŧāϏā§āĻŽāĻž āϏā§āĻ āĻāϰāĻž, āĻŦāĻž āĻŦāĻŋāĻā§āĻāĻŋāύā§āύ āĻāϞ āĻĒāĻžāĻĨāĻā§āϞāĻŋāϤ⧠āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŽāĻžāύ āϏāĻāϝā§āĻā§āϤ āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻāϰā§āĨ¤ ``go func WithTimeout(ctx context.context, period time.Duration, task func() error) error { ctx, cancel := context.WithTimeout(ctx, duration) defer cancel() done := make(chan error, 1) go func() { āϏāĻŽā§āĻĒāύā§āύ <- task() }() āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ { case <-ctx.Done(): ctx.Err() case err := <-done: return err } } ```

āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§ āϤā§āϰā§āĻāĻŋ āĻšā§āϝāĻžāύā§āĻĄāϞāĻŋāĻ āĻāĻŦāĻ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ
āϤā§āϰā§āĻāĻŋ āĻšā§āϝāĻžāύā§āĻĄāϞāĻŋāĻ āĻāĻŦāĻ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāĻāĻāĻŋ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻ āĻĒāϰāĻŋāĻšāĻžāϰā§āϝ āĻāĻĒāĻžāĻĻāĻžāύ āĻāĻžāϰāĻŖ āϤāĻžāϰāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻāĻŋāĻā§ āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋāϝāĻŧāĻž āĻāĻžāύāĻžāϤ⧠āĻāĻŦāĻ āĻāĻāĻāĻŋ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŋāϤ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āĻāĻāĻŋāϰ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāĻžāϞāĻŋāϝāĻŧā§ āϝā§āϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻŦāĻŋāĻāĻžāĻā§, āĻāĻŽāϰāĻž āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ Go āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϤ⧠āĻā§āĻāĻžāĻŦā§ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻā§āϰā§āĻāĻŋāύ⧠āĻāϤāĻā§āĻ āĻĨā§āĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāϰāĻž āϝāĻžāϝāĻŧ āϤāĻž āύāĻŋāϝāĻŧā§ āĻāϞā§āĻāύāĻž āĻāϰāĻŦāĨ¤
āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§ āϤā§āϰā§āĻāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻž
- āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻĒāĻžāĻ āĻžāύ : āĻāĻĒāύāĻŋ āĻā§āϰā§āĻāĻŋāύā§āϰ āĻŽāϧā§āϝ⧠āϤā§āϰā§āĻāĻŋāϰ āĻŽāĻžāύāĻā§āϞāĻŋ āĻĒāĻžāϏ āĻāϰāϤ⧠āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āĻĒā§āϰāĻžāĻĒāĻāĻā§ āϏ⧠āĻ āύā§āϝāĻžāϝāĻŧā§ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āύ⧎ ```āĻā§ āĻĢāĻžāĻā§āĻ āĻāϝāĻŧāĻžāϰā§āĻāĻžāϰ (āĻāĻžāĻāϰāĻŋ <-āĻā§āϝāĻžāύ int, āĻĢāϞāĻžāĻĢāϞ āĻā§āϝāĻžāύ<- int, errs chan<- āϤā§āϰā§āĻāĻŋ) { āĻāĻžāĻā§āϰ āĻāύā§āϝ := āĻĒāϰāĻŋāϏāϰā§āϰ āĻāĻžāĻāϰāĻŋ { res, err := āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž(āĻāĻžāĻāϰāĻŋ) āϝāĻĻāĻŋ āĻā§āϞ āĻšāϝāĻŧ != āĻļā§āύā§āϝ { errs < - āϤā§āϰā§āĻāĻŋ āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāύ } āĻĢāϞāĻžāĻĢāϞ <- res } } ```
- 'āύāĻŋāϰā§āĻŦāĻžāĻāύ' āĻŦāĻŋāĻŦā§āϤāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ : āĻĄā§āĻāĻž āĻāĻŦāĻ āϤā§āϰā§āĻāĻŋ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻŋ āĻāĻāĻžāϧāĻŋāĻ āĻā§āϝāĻžāύā§āϞ āĻļā§āύāϤ⧠āĻāĻŦāĻ āĻĒā§āϰāĻžāĻĒā§āϤ āĻŽāĻžāύāĻā§āϞāĻŋāϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāϰāϤ⧠'āύāĻŋāϰā§āĻŦāĻžāĻāύ' āĻŦāĻŋāĻŦā§āϤāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ ```āϝāĻžāĻ { case res := <-results: fmt.Println("āĻĢāϞāĻžāĻĢāϞ:", res) āĻā§āϏ err := <-errs: fmt.Println("Error:", err) } ```
Goroutines āĻŽāϧā§āϝ⧠āĻāϤāĻā§āĻ āĻĨā§āĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ
āĻāĻāĻāĻŋ āĻā§āϰā§āĻāĻŋāύ⧠āĻāϤāĻā§āĻ āĻĨā§āĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāϰāϤā§, āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϏā§āĻāĻŽ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻĢāĻžāĻāĻļāύ āϏāĻš 'defer' āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻ āĻĢāĻžāĻāĻļāύāĻāĻŋ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻšāĻŦā§ āϝāĻāύ āĻā§āϰā§āĻāĻŋāύ āĻāĻāĻāĻŋ āĻāϤāĻā§āĻā§āϰ āϏāĻŽā§āĻŽā§āĻā§āύ āĻšāϝāĻŧ āĻāĻŦāĻ āĻāĻĒāύāĻžāĻā§ āϏā§āύā§āĻĻāϰāĻāĻžāĻŦā§ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻāĻŦāĻ āϤā§āϰā§āĻāĻŋāĻāĻŋ āϞāĻ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ ```go func workerSafe() { defer func() { if r := recover(); r != nil { fmt.Println("āĻāϰ āĻĨā§āĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§:", r) } }() // āĻāĻĒāύāĻžāϰ āĻā§āϰā§āĻāĻŋāύ āĻā§āĻĄ āĻāĻāĻžāύ⧠} ```
āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻāύā§āϝ āϏāĻžāĻŽāĻā§āĻāϏā§āϝ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻž
Go-āϤ⧠āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϰ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϧāĻžāύāϤ āϏāĻŽā§āĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āϏāĻ āĻŋāĻ āĻāĻžāϰāϏāĻžāĻŽā§āϝ āĻā§āĻāĻā§ āĻĒāĻžāĻāϝāĻŧāĻž āĻāĻŦāĻ āĻšāĻžāϰā§āĻĄāĻāϝāĻŧā§āϝāĻžāϰ āĻā§āώāĻŽāϤāĻžāϰ āϏāϰā§āĻŦāĻžāϧāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻāĻĄāĻŧāĻŋāϤāĨ¤ āĻāĻĒāύāĻžāϰ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ Go āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϰ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āĻāĻĒāύāĻŋ āĻāĻāĻžāύ⧠āĻāĻŋāĻā§ āĻā§āĻļāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
- āĻā§āϰā§āĻāĻŋāύā§āϰ āϏāĻāĻā§āϝāĻž āĻ āĻŋāĻ āĻāϰ⧠āύāĻŋāύ : āĻā§āϰā§āĻāĻŋāύā§āϰ āϏāĻ āĻŋāĻ āϏāĻāĻā§āϝāĻž āĻāĻĒāύāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻšāĻžāϰā§āĻĄāĻāϝāĻŧā§āϝāĻžāϰā§āϰ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ āĻāĻĒāύāĻžāϰ āĻāĻŦā§āĻĻāύā§āϰ āĻāύā§āϝ āϏāϰā§āĻŦā§āϤā§āϤāĻŽ āϏāĻāĻā§āϝāĻ āĻā§āϰā§āĻāĻŋāύ āĻā§āĻāĻā§ āĻĒā§āϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽāĻžāύ āύāĻŋāϝāĻŧā§ āĻĒāϰā§āĻā§āώāĻž āĻāϰā§āύāĨ¤
- āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ : āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻāĻžāĻā§āϰ āĻĨā§āϰā§āĻĒā§āĻ āĻŦā§āĻĻā§āϧāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝāĻžāϤ⧠āϤāĻžāϰāĻž āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻā§āώāĻž āύāĻž āĻāϰ⧠āĻāϰāĻ āĻĄā§āĻāĻž āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
- āĻšāĻžāϰ āϏā§āĻŽāĻŋāϤāĻāϰāĻŖ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰā§āύ : āϏāĻŽā§āĻĒāĻĻ-āύāĻŋāĻŦāĻŋāĻĄāĻŧ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϞāĻŋāϤ⧠āύāĻŋāϝā§āĻā§āϤāĻŋāϰ āĻšāĻžāϰ āϏā§āĻŽāĻŋāϤ āĻāϰāĻž āϏāĻŽā§āĻĒāĻĻā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖā§ āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āĻŦāĻŋāĻŦāĻžāĻĻ, āĻ āĻāϞāĻžāĻŦāϏā§āĻĨāĻž āĻāĻŦāĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻāĻžāϰāϞā§āĻĄā§āϰ āĻŽāϤ⧠āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
- āĻā§āϝāĻžāĻļāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ : āĻā§āϝāĻžāĻļā§ āĻāĻŖāύāĻž āĻāϰāĻž āĻĢāϞāĻžāĻĢāϞ āϝāĻž āĻāύ āĻāύ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž āĻšāϝāĻŧ, āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŖāύāĻž āĻšā§āϰāĻžāϏ āĻāϰ⧠āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āϏāĻžāĻŽāĻā§āϰāĻŋāĻ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰā§āĨ¤
- āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāĻžāύā§āϰ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāϰā§āύ : āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻŦāĻžāϧāĻž āĻāĻŦāĻ āϏāĻŽā§āĻĒāĻĻ-āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāĻžāĻāĻā§āϞāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāϤ⧠āĻāĻŦāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāϤ⧠pprof-āĻāϰ āĻŽāϤ⧠āϏāϰāĻā§āĻāĻžāĻŽāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻĒāύāĻžāϰ Go āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋāĻā§ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāϰā§āύ⧎
- āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ AppMaster āϞāĻŋāĻāĻžāϰā§āĻ : AppMaster āύā§-āĻā§āĻĄ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύāĻā§āϞāĻŋāϰ āĻāύā§āϝ āϏāϰā§āĻŦā§āϤā§āϤāĻŽ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāĻŦāĻ āϏā§āĻā§āϞā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠Go-āĻāϰ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻā§āώāĻŽāϤāĻžāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤
āĻāĻ āĻāĻāϝā§āĻā§ āύāĻŋāĻĻāϰā§āĻļāύ āĻāĻŦāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāύ āĻā§āĻļāϞāĻā§āϞāĻŋ āĻāϝāĻŧāϤā§āϤ āĻāϰā§, āĻāĻĒāύāĻŋ Go-āϤ⧠āĻĻāĻā§āώ āĻāĻŦāĻ āĻāĻā§āĻ-āϏāĻŽā§āĻĒāĻžāĻĻāĻ āϏāĻŽāĻāĻžāϞā§āύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻĒāύāĻžāϰ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āĻĒā§āϰāĻāϞā§āĻĒāĻā§āϞāĻŋāĻā§ āύāϤā§āύ āĻāĻā§āĻāϤāĻžāϝāĻŧ āύāĻŋāϝāĻŧā§ āϝāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠AppMaster āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Go-āĻāϰ āĻ āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āϏāĻŽāĻŦāĻžāϝāĻŧ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ⧎
āĻĒā§āϰāĻļā§āύā§āϤā§āϤāϰ
Go-āϤ⧠āĻāύāĻāĻžāϰā§āύā§āϏāĻŋ āĻŦāϞāϤ⧠āĻŦā§āĻāĻžāϝāĻŧ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§āϰ āĻāĻāϝā§āĻā§ āĻāĻāĻžāϧāĻŋāĻ āĻāĻžāĻ āĻāĻžāϞāĻžāύā§āϰ āĻā§āώāĻŽāϤāĻž, āĻŦāĻž āĻ āύā§āϤāϤāĻĒāĻā§āώā§, āϏā§āĻā§āϞāĻŋāĻā§ āĻāĻŽāύāĻāĻžāĻŦā§ āϏāĻāĻāĻ āĻŋāϤ āĻāϰāĻž āϝāĻžāϤ⧠āϤāĻžāϰāĻž āϏāĻŽāĻžāύā§āϤāϰāĻžāϞāĻāĻžāĻŦā§ āĻāϞāĻā§ āĻŦāϞ⧠āĻŽāύ⧠āĻšāϝāĻŧāĨ¤ āĻā§-āϤ⧠āĻā§āϰā§āĻāĻŋāύ, āĻā§āϝāĻžāύā§āϞ āĻāĻŦāĻ 'āύāĻŋāϰā§āĻŦāĻžāĻāύ' āĻŦāĻŋāĻŦā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻ āύā§āϤāϰā§āύāĻŋāϰā§āĻŽāĻŋāϤ āϏāĻŽāϰā§āĻĨāύ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§āĨ¤
Goroutines āĻšāϞ āĻšāĻžāϞāĻāĻž āĻāĻāύā§āϰ āĻĨā§āϰā§āĻĄ-āĻāϰ āĻŽāϤ⧠āĻāĻžāĻ āĻžāĻŽā§ āϝāĻž Go-āĻāϰ āϰāĻžāύāĻāĻžāĻāĻŽ āϏāĻŋāϏā§āĻā§āĻŽ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāĻāĻžāϞāĻŋāϤ āĻšāϝāĻŧāĨ¤ āϤāĻžāϰāĻž āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āĻŦāĻž āĻāĻŽāύāĻāĻŋ āϞāĻā§āώ āϞāĻā§āώ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻāĻžāĻ āϤā§āϰāĻŋ āĻāĻŦāĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āϏāĻšāĻ, āĻāĻžāϰā§āϝāĻāϰ āĻāĻĒāĻžāϝāĻŧ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ Goroutines āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ 'go' āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāύ āĻāϞ āĻĻā§āĻŦāĻžāϰāĻž āĻ āύā§āϏāϰāĻŖ āĻāϰā§āĨ¤ āĻā§ āϰāĻžāύāĻāĻžāĻāĻŽ āĻļāĻŋāĻĄāĻŋāĻāϞāĻžāϰ āĻāĻāϝā§āĻā§ āĻā§āϰā§āĻāĻŋāύāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāĻŦāĻ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻžāϰ āϝāϤā§āύ āύā§āϝāĻŧāĨ¤
Go-āĻāϰ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻā§āϰā§āĻāĻŋāύā§āϰ āĻŽāϧā§āϝ⧠āϏāĻŋāĻā§āĻā§āϰā§āύāĻžāĻāĻ āĻāĻŦāĻ āϝā§āĻāĻžāϝā§āĻ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āϤāĻžāϰāĻž āĻāĻāϝā§āĻā§ āĻāĻžāĻāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āĻĄā§āĻāĻž āĻĒā§āϰā§āϰāĻŖ āĻāĻŦāĻ āĻā§āϰāĻšāĻŖ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āĻāĻĒāĻžāϝāĻŧ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§, āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āϝā§āĻāĻžāϝā§āĻ āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ āĻĄā§āĻāĻž āϰā§āϏ āĻĨā§āĻā§ āĻŽā§āĻā§āϤāĨ¤ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāĻā§ āĻāύāĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āĻŦāĻž āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āϤā§āϰāĻŋ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻĒāύāĻŋ āϝ⧠āĻā§āώāĻŽāϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§āĻā§āύ āϤāĻžāϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤
Go-āϤ⧠āϏāĻžāϧāĻžāϰāĻŖ āĻāĻāϝā§āĻā§ āĻĒā§āϝāĻžāĻāĻžāϰā§āύā§āϰ āĻŽāϧā§āϝ⧠āĻĢā§āϝāĻžāύ-āĻāύ/āĻĢā§āϝāĻžāύ-āĻāĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ, āĻāϰā§āĻŽā§ āĻĒā§āϞ, āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ, āϰā§āĻ āϞāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻžāϤāĻŋāϞāĻāϰāĻŖ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻ āύāĻŋāĻĻāϰā§āĻļāύāĻā§āϞāĻŋāĻā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāĻŦāĻ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠Go-āϤ⧠āĻļāĻā§āϤāĻŋāĻļāĻžāϞā§, āĻĻāĻā§āώ āĻāĻāϝā§āĻā§ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤā§āĨ¤
āĻā§-āϤā§, āĻāĻĒāύāĻŋ āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϤā§āϰā§āĻāĻŋāϰ āĻŽāĻžāύāĻā§āϞāĻŋ āĻĒāĻžāϏ āĻāϰā§, āĻāĻāĻžāϧāĻŋāĻ āϤā§āϰā§āĻāĻŋāϰ āĻāϤā§āϏ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠'āύāĻŋāϰā§āĻŦāĻžāĻāύ' āĻŦāĻŋāĻŦā§āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻŦāĻ āĻā§āϰā§āĻāĻŋāύ⧠āĻāĻāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŽāύ āĻāϤāĻā§āĻāĻā§ āĻāĻāĻāĻžāϤ⧠āĻāĻŦāĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻāĻāĻāĻŋ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻĢāĻžāĻāĻļāύ āϏāĻš 'āĻĄāĻŋāĻĢāĻžāϰ' āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻŽāĻāĻžāϞā§āύ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋāϤ⧠āϤā§āϰā§āĻāĻŋāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ .
Go-āϤ⧠āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞāĻŋāĻā§ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāϤā§, āĻāĻĒāύāĻŋ āĻā§āϰā§āĻāĻŋāύā§āϰ āϏāĻāĻā§āϝāĻž āĻ āĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻĨā§āϰā§āĻĒā§āĻ āĻŦāĻžāĻĄāĻŧāĻžāύā§āϰ āĻāύā§āϝ āĻŦāĻžāĻĢāĻžāϰ āĻāϰāĻž āĻā§āϝāĻžāύā§āϞāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϏāĻŽā§āĻĒāĻĻā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖā§ āϏā§āĻŽāĻŋāϤ āĻšāĻžāϰ āύāĻŋāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻŖāύāĻžāĻā§āϞāĻŋ āĻāĻŽāĻžāϤ⧠āĻā§āϝāĻžāĻļāĻŋāĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻŦāĻžāϧāĻžāĻā§āϞāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāϤ⧠āĻāĻŦāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āĻāĻĒāύāĻžāϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻāĻŋ āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ⧎ āĻ āϤāĻŋāϰāĻŋāĻā§āϤāĻāĻžāĻŦā§, āĻāĻĒāύāĻŋ āĻā§-āϤ⧠āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āϏāĻš āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠AppMaster āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āĻļā§āϰā§āώāϏā§āĻĨāĻžāύā§āϝāĻŧ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāĻŦāĻ āĻŽāĻžāĻĒāϝā§āĻā§āϝāϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤


