ā§§ā§Š āϜ⧁āύ, ⧍ā§Ļā§¨ā§ŠÂˇ3 āĻŽāĻŋāύāĻŋāϟ āĻĒāĻĄāĻŧāϤ⧇

Go-āĻ āϏāĻ™ā§āĻ—āϤāĻŋ

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-āĻ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āύāĻŋāĻĻāĻ°ā§āĻļāύ

āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āĻĨ⧇āϕ⧇ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ
PostgreSQL āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ­āĻŋāĻœā§āϝ⧁āϝāĻŧāĻžāϞāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ“ āϞāϜāĻŋāĻ• āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰ⧁āύāĨ¤
āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ āĻĄāĻŋāϜāĻžāχāύ āĻāĻŦāĻ‚ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ⧇āϰ āϏāĻŽāϝāĻŧ āωāĻĻā§āĻ­ā§‚āϤ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋāϰ āĻĒ⧁āύāĻ°ā§āĻŦā§āϝāĻŦāĻšāĻžāϰāϝ⧋āĻ—ā§āϝ āϏāĻŽāĻžāϧāĻžāύ āĻšāϞ āĻ•āύāĻ•āĻžāϰ⧇āĻ¨ā§āϏāĻŋ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāĨ¤ āĻāχ āĻŦāĻŋāĻ­āĻžāϗ⧇, āφāĻŽāϰāĻž āĻ—ā§‹-āϤ⧇ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āĻ•āĻŋāϛ⧁ āĻ•āύāĻ•āĻžāϰ⧇āĻ¨ā§āϏāĻŋ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āĻŦ⧇āώāĻŖ āĻ•āϰāĻŦ, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻĢā§āϝāĻžāύ-āχāύ/āĻĢā§āϝāĻžāύ-āφāωāϟ, āĻ•āĻ°ā§āĻŽā§€ āĻĒ⧁āϞ, āĻĒāĻžāχāĻĒāϞāĻžāχāύ āĻāĻŦāĻ‚ āφāϰāĻ“ āĻ…āύ⧇āĻ• āĻ•āĻŋāϛ⧁ āϰāϝāĻŧ⧇āϛ⧇⧎

āĻĢā§āϝāĻžāύ-āχāύ/āĻĢā§āϝāĻžāύ-āφāωāϟ

āĻĢā§āϝāĻžāύ-āχāύ/āĻĢā§āϝāĻžāύ-āφāωāϟ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ āϝāĻ–āύ āφāĻĒāύāĻžāϰ āĻ•āĻžāϛ⧇ āĻĄā§‡āϟāĻž āϤ⧈āϰāĻŋāϰ (āĻĢā§āϝāĻžāύ-āφāωāϟ) āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻ•āĻžāϜ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ⧇ āϏ⧇āχ āĻ•āĻžāϜāϗ⧁āϞāĻŋ (āĻĢā§āϝāĻžāύ-āχāύ) āĻĨ⧇āϕ⧇ āĻĄā§‡āϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āĻ•āĻžāϜ āĻĨāĻžāϕ⧇āĨ¤ 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 āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϤ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ—ā§‹āϰ⧁āϟāĻŋāύ⧇ āφāϤāĻ™ā§āĻ• āĻĨ⧇āϕ⧇ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āϤāĻž āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻŦāĨ¤

āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽā§‡ āĻ¤ā§āϰ⧁āϟāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻž

  1. āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋ āĻĒāĻžāĻ āĻžāύ : āφāĻĒāύāĻŋ āϗ⧁āϰ⧁āϟāĻŋāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻĒāĻžāϏ āĻ•āϰāϤ⧇ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻĒā§āϰāĻžāĻĒāĻ•āϕ⧇ āϏ⧇ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎ ```āĻ—ā§‹ āĻĢāĻžāĻ™ā§āĻ• āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻžāϰ (āϚāĻžāĻ•āϰāĻŋ <-āĻšā§āϝāĻžāύ int, āĻĢāϞāĻžāĻĢāϞ āĻšā§āϝāĻžāύ<- int, errs chan<- āĻ¤ā§āϰ⧁āϟāĻŋ) { āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ := āĻĒāϰāĻŋāϏāϰ⧇āϰ āϚāĻžāĻ•āϰāĻŋ { res, err := āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž(āϚāĻžāĻ•āϰāĻŋ) āϝāĻĻāĻŋ āϭ⧁āϞ āĻšāϝāĻŧ != āĻļā§‚āĻ¨ā§āϝ { errs < - āĻ¤ā§āϰ⧁āϟāĻŋ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝāĻžāύ } āĻĢāϞāĻžāĻĢāϞ <- res } } ```
  2. 'āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ' āĻŦāĻŋāĻŦ⧃āϤāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ : āĻĄā§‡āϟāĻž āĻāĻŦāĻ‚ āĻ¤ā§āϰ⧁āϟāĻŋ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āφāĻĒāύāĻŋ āĻāĻ•āĻžāϧāĻŋāĻ• āĻšā§āϝāĻžāύ⧇āϞ āĻļ⧁āύāϤ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāĻžāĻĒā§āϤ āĻŽāĻžāύāϗ⧁āϞāĻŋāϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āĻ•ā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ 'āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ' āĻŦāĻŋāĻŦ⧃āϤāĻŋāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ ```āϝāĻžāĻ“ { 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) } }() // āφāĻĒāύāĻžāϰ āĻ—ā§‹āϰ⧁āϟāĻŋāύ āϕ⧋āĻĄ āĻāĻ–āĻžāύ⧇ } ```

āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāĻž

āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϕ⧇ API-āϤ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰ⧁āύ
āĻ­āĻŋāĻœā§āϝ⧁āϝāĻŧāĻžāϞāĻŋ āĻĄā§‡āϟāĻž āĻ“ āϞāϜāĻŋāĻ• āĻŽāĻĄā§‡āϞ āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ concurrency-āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ Go āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰ⧁āύāĨ¤
āĻāĻ–āύ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

Go-āϤ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϧāĻžāύāϤ āϏāĻŽā§āĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϏāĻ āĻŋāĻ• āĻ­āĻžāϰāϏāĻžāĻŽā§āϝ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻ“āϝāĻŧāĻž āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāϰ āϏāĻ°ā§āĻŦāĻžāϧāĻŋāĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϜāĻĄāĻŧāĻŋāϤāĨ¤ āφāĻĒāύāĻžāϰ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• Go āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāϤ⧇ āφāĻĒāύāĻŋ āĻāĻ–āĻžāύ⧇ āĻ•āĻŋāϛ⧁ āĻ•ā§ŒāĻļāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ:

  • āĻ—ā§‹āϰ⧁āϟāĻŋāύ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻ āĻŋāĻ• āĻ•āϰ⧇ āύāĻŋāύ : āĻ—ā§‹āϰ⧁āϟāĻŋāύ⧇āϰ āϏāĻ āĻŋāĻ• āϏāĻ‚āĻ–ā§āϝāĻž āφāĻĒāύāĻžāϰ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇āϰ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āĨ¤ āφāĻĒāύāĻžāϰ āφāĻŦ⧇āĻĻāύ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āϏāĻ‚āĻ–ā§āϝāĻ• āĻ—ā§‹āϰ⧁āϟāĻŋāύ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻŽāĻžāύ āύāĻŋāϝāĻŧ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
  • āĻŦāĻžāĻĢāĻžāϰ āĻ•āϰāĻž āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ : āĻŦāĻžāĻĢāĻžāϰ āĻ•āϰāĻž āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻ•āĻžāĻœā§‡āϰ āĻĨā§āϰ⧁āĻĒ⧁āϟ āĻŦ⧃āĻĻā§āϧāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āϝāĻžāϤ⧇ āϤāĻžāϰāĻž āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāĻœā§‡āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āύāĻž āĻ•āϰ⧇ āφāϰāĻ“ āĻĄā§‡āϟāĻž āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻšāĻžāϰ āϏ⧀āĻŽāĻŋāϤāĻ•āϰāĻŖ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āĻ•āϰ⧁āύ : āϏāĻŽā§āĻĒāĻĻ-āύāĻŋāĻŦāĻŋāĻĄāĻŧ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϗ⧁āϞāĻŋāϤ⧇ āύāĻŋāϝ⧁āĻ•ā§āϤāĻŋāϰ āĻšāĻžāϰ āϏ⧀āĻŽāĻŋāϤ āĻ•āϰāĻž āϏāĻŽā§āĻĒāĻĻ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāϪ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻŦāĻŋāĻŦāĻžāĻĻ, āĻ…āϚāϞāĻžāĻŦāĻ¸ā§āĻĨāĻž āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ“āĻ­āĻžāϰāϞ⧋āĻĄā§‡āϰ āĻŽāϤ⧋ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋ āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻ•ā§āϝāĻžāĻļāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ : āĻ•ā§āϝāĻžāĻļ⧇ āĻ—āĻŖāύāĻž āĻ•āϰāĻž āĻĢāϞāĻžāĻĢāϞ āϝāĻž āϘāύ āϘāύ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āĻšāϝāĻŧ, āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ—āĻŖāύāĻž āĻšā§āϰāĻžāϏ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽā§‡āϰ āϏāĻžāĻŽāĻ—ā§āϰāĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰ⧇āĨ¤
  • āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāĻžāύ⧇āϰ āĻĒā§āϰ⧋āĻĢāĻžāχāϞ āĻ•āϰ⧁āύ : āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻŦāĻžāϧāĻž āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒāĻĻ-āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻ•āĻžāϜāϗ⧁āϞāĻŋ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāϤ⧇ pprof-āĻāϰ āĻŽāϤ⧋ āϏāϰāĻžā§āϜāĻžāĻŽāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ Go āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋāϕ⧇ āĻĒā§āϰ⧋āĻĢāĻžāχāϞ āĻ•āϰ⧁āύ⧎
  • āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āϜāĻ¨ā§āϝ AppMaster āϞāĻŋāĻ­āĻžāϰ⧇āϜ : AppMaster āύ⧋-āϕ⧋āĻĄ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻāĻŦāĻ‚ āĻ¸ā§āϕ⧇āϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇ Go-āĻāϰ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻ•ā§āώāĻŽāϤāĻžāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻāχ āĻāĻ•āϝ⧋āϗ⧇ āύāĻŋāĻĻāĻ°ā§āĻļāύ āĻāĻŦāĻ‚ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāĻžāύ āĻ•ā§ŒāĻļāϞāϗ⧁āϞāĻŋ āφāϝāĻŧāĻ¤ā§āϤ āĻ•āϰ⧇, āφāĻĒāύāĻŋ Go-āϤ⧇ āĻĻāĻ•ā§āώ āĻāĻŦāĻ‚ āωāĻšā§āϚ-āϏāĻŽā§āĻĒāĻžāĻĻāĻ• āϏāĻŽāĻ•āĻžāϞ⧀āύ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāĻĒāύāĻžāϰ āϏāĻĢā§āϟāĻ“āϝāĻŧā§āϝāĻžāϰ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋāϕ⧇ āύāϤ⧁āύ āωāĻšā§āϚāϤāĻžāϝāĻŧ āύāĻŋāϝāĻŧ⧇ āϝāĻžāĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ AppMaster āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽā§‡āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Go-āĻāϰ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻ°ā§āĻŽāĻŋāϤ āϏāĻŽāĻŦāĻžāϝāĻŧ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ⧎

āĻĒā§āϰāĻļā§āύ⧋āĻ¤ā§āϤāϰ

Go āϤ⧇ āϏāĻŽāĻ—āϤāĻŋ āĻ•āĻŋ?

Go-āϤ⧇ āĻ•āύāĻ•āĻžāϰ⧇āĻ¨ā§āϏāĻŋ āĻŦāϞāϤ⧇ āĻŦā§‹āĻāĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽā§‡āϰ āĻāĻ•āϝ⧋āϗ⧇ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻžāϜ āϚāĻžāϞāĻžāύ⧋āϰ āĻ•ā§āώāĻŽāϤāĻž, āĻŦāĻž āĻ…āĻ¨ā§āϤāϤāĻĒāĻ•ā§āώ⧇, āϏ⧇āϗ⧁āϞāĻŋāϕ⧇ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āϏāĻ‚āĻ—āĻ āĻŋāϤ āĻ•āϰāĻž āϝāĻžāϤ⧇ āϤāĻžāϰāĻž āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞāĻ­āĻžāĻŦ⧇ āϚāϞāϛ⧇ āĻŦāϞ⧇ āĻŽāύ⧇ āĻšāϝāĻŧāĨ¤ āĻ—ā§‹-āϤ⧇ āĻ—ā§‹āϰ⧁āϟāĻŋāύ, āĻšā§āϝāĻžāύ⧇āϞ āĻāĻŦāĻ‚ 'āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ' āĻŦāĻŋāĻŦ⧃āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻ¨ā§āϤāĻ°ā§āύāĻŋāĻ°ā§āĻŽāĻŋāϤ āϏāĻŽāĻ°ā§āĻĨāύ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āϰāϝāĻŧ⧇āϛ⧇āĨ¤

āĻ—ā§‹-āϤ⧇ āĻ—ā§‹āϰ⧁āϟāĻŋāύ āϕ⧀?

Goroutines āĻšāϞ āĻšāĻžāϞāĻ•āĻž āĻ“āϜāύ⧇āϰ āĻĨā§āϰ⧇āĻĄ-āĻāϰ āĻŽāϤ⧋ āĻ•āĻžāĻ āĻžāĻŽā§‹ āϝāĻž Go-āĻāϰ āϰāĻžāύāϟāĻžāχāĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻšāϝāĻŧāĨ¤ āϤāĻžāϰāĻž āĻšāĻžāϜāĻžāϰ āĻšāĻžāϜāĻžāϰ āĻŦāĻž āĻāĻŽāύāĻ•āĻŋ āϞāĻ•ā§āώ āϞāĻ•ā§āώ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻ•āĻžāϜ āϤ⧈āϰāĻŋ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āϏāĻšāϜ, āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āωāĻĒāĻžāϝāĻŧ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ Goroutines āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšāϝāĻŧ 'go' āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻĻā§āĻŦāĻžāϰāĻž āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇āĨ¤ āĻ—ā§‹ āϰāĻžāύāϟāĻžāχāĻŽ āĻļāĻŋāĻĄāĻŋāωāϞāĻžāϰ āĻāĻ•āϝ⧋āϗ⧇ āĻ—ā§‹āϰ⧁āϟāĻŋāύāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻžāϰ āϝāĻ¤ā§āύ āύ⧇āϝāĻŧāĨ¤

āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāĻ•āϝ⧋āϗ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇?

Go-āĻāϰ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āϗ⧁āϰ⧁āϟāĻŋāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāϜ āĻāĻŦāĻ‚ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤ āϤāĻžāϰāĻž āĻāĻ•āϝ⧋āϗ⧇ āĻ•āĻžāϜāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āĻĒā§āϰ⧇āϰāĻŖ āĻāĻŦāĻ‚ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āωāĻĒāĻžāϝāĻŧ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇, āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇ āϝ⧇ āϝ⧋āĻ—āĻžāϝ⧋āĻ— āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āϰ⧇āϏ āĻĨ⧇āϕ⧇ āĻŽā§āĻ•ā§āϤāĨ¤ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋāϕ⧇ āφāύāĻŦāĻžāĻĢāĻžāϰ āĻ•āϰāĻž āĻŦāĻž āĻŦāĻžāĻĢāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇, āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāĻĒāύāĻŋ āϝ⧇ āĻ•ā§āώāĻŽāϤāĻž āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧇āϛ⧇āύ āϤāĻžāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āĨ¤

Go-āϤ⧇ āĻ•āĻŋāϛ⧁ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ•āĻ¤ā§āϰ⧀āĻ•āϰāĻŖ āύāĻŋāĻĻāĻ°ā§āĻļāύ āϕ⧀ āϕ⧀?

Go-āϤ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻāĻ•āϝ⧋āϗ⧇ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĢā§āϝāĻžāύ-āχāύ/āĻĢā§āϝāĻžāύ-āφāωāϟ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ, āĻ•āĻ°ā§āĻŽā§€ āĻĒ⧁āϞ, āĻĒāĻžāχāĻĒāϞāĻžāχāύ, āϰ⧇āϟ āϞāĻŋāĻŽāĻŋāϟāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻžāϤāĻŋāϞāĻ•āϰāĻŖ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāχ āύāĻŋāĻĻāĻ°ā§āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻāĻŦāĻ‚ āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāχāϜ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ Go-āϤ⧇ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀, āĻĻāĻ•ā§āώ āĻāĻ•āϝ⧋āϗ⧇ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇āĨ¤

āφāĻŽāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϤ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ āĻāĻŦāĻ‚ āφāϤāĻ™ā§āĻ• āĻĨ⧇āϕ⧇ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ?

āĻ—ā§‹-āϤ⧇, āφāĻĒāύāĻŋ āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āĻŽāĻžāύāϗ⧁āϞāĻŋ āĻĒāĻžāϏ āĻ•āϰ⧇, āĻāĻ•āĻžāϧāĻŋāĻ• āĻ¤ā§āϰ⧁āϟāĻŋāϰ āωāĻ¤ā§āϏ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ 'āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ' āĻŦāĻŋāĻŦ⧃āϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ—ā§‹āϰ⧁āϟāĻŋāύ⧇ āϘāϟāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āφāϤāĻ™ā§āĻ•āϕ⧇ āφāϟāĻ•āĻžāϤ⧇ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻĢāĻžāĻ‚āĻļāύ āϏāĻš 'āĻĄāĻŋāĻĢāĻžāϰ' āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻŽāĻ•āĻžāϞ⧀āύ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϤ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ .

Go-āϤ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āωāĻ¨ā§āύāϤ āĻ•āϰāϤ⧇ āφāĻŽāĻŋ āϕ⧋āύ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāĻœā§‡āĻļāύ āĻ•ā§ŒāĻļāϞāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ?

Go-āϤ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϗ⧁āϞāĻŋāϕ⧇ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāϤ⧇, āφāĻĒāύāĻŋ āĻ—ā§‹āϰ⧁āϟāĻŋāύ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻ āĻŋāĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻĨā§āϰ⧁āĻĒ⧁āϟ āĻŦāĻžāĻĄāĻŧāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻŦāĻžāĻĢāĻžāϰ āĻ•āϰāĻž āĻšā§āϝāĻžāύ⧇āϞāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϏāĻŽā§āĻĒāĻĻ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāϪ⧇ āϏ⧀āĻŽāĻŋāϤ āĻšāĻžāϰ āύāĻŋāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻ…āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āĻ—āĻŖāύāĻžāϗ⧁āϞāĻŋ āĻ•āĻŽāĻžāϤ⧇ āĻ•ā§āϝāĻžāĻļāĻŋāĻ‚ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻŦāĻžāϧāĻžāϗ⧁āϞāĻŋ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāϤ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύāϟāĻŋ āĻĒā§āϰ⧋āĻĢāĻžāχāϞ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤāĻ­āĻžāĻŦ⧇, āφāĻĒāύāĻŋ āĻ—ā§‹-āϤ⧇ āϏāĻŽāϏāĻžāĻŽāϝāĻŧāĻŋāĻ• āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āϏāĻš āĻŦā§āϝāĻžāĻ•āĻāĻ¨ā§āĻĄ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ AppMaster āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻļā§€āĻ°ā§āώāĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻāĻŦāĻ‚ āĻŽāĻžāĻĒāϝ⧋āĻ—ā§āϝāϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧇āĨ¤

āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϏāĻšāϜ
āĻ•āĻŋāϛ⧁ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ•āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻŦāĻŋāύāĻžāĻŽā§‚āĻ˛ā§āϝ⧇āϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϏāĻš āĻ…ā§āϝāĻžāĻĒāĻŽāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
āφāĻĒāύāĻŋ āϝāĻ–āύ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻšāĻŦ⧇āύ āϤāĻ–āύ āφāĻĒāύāĻŋ āϏāĻ āĻŋāĻ• āϏāĻĻāĻ¸ā§āϝāϤāĻž āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎

āĻāĻŦāĻžāϰ āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϝāĻžāĻ•
Go-āĻ āϏāĻ™ā§āĻ—āϤāĻŋ | AppMaster