Go рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИред рднрд╛рдЧ реи

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЖрдЬ рд╣рдо "рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ" рд▓реЗрдЦ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЕрдВрддрд┐рдо рднрд╛рдЧ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣рдордиреЗ рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рдЬреЛ рдЖрдЬ рдЧреЛ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред

рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЧреЛрд▓рдВрдЧ рдбреЗрд╡рд▓рдкрд░ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдирдИ рдзрд╛рд░рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдЧреЛ рдПрдХ рд▓реБрдХ рдмреИрдХ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рдХрд╛ рдореВрд▓ рдкреИрдХреЗрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рддреИрдпрд╛рд░ рд╣реИ: рдЗрд╕рдореЗрдВ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣, рдкреИрдХреЗрдЬ, рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп, рд▓реЗрдХреНрд╕рд┐рдХрд▓ рд╕реНрдХреЛрдк, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкрд╛рда рдЖрдорддреМрд░ рдкрд░ UTF-8 рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХрд╛ рдХреЛрдИ рдирд┐рд╣рд┐рдд рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдкрд╛рдВрддрд░рдг рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ рдирд┐рд░реНрдорд╛рддрд╛ рдпрд╛ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдирд╣реАрдВ, рдХреЛрдИ рдСрдкрд░реЗрдЯрд░ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ, рдХреЛрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдорд╛рди, рдХреЛрдИ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░, рдХреЛрдИ рдЬреЗрдирд░рд┐рдХ, рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ, рдХреЛрдИ рдореИрдХреНрд░реЛ, рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдПрдиреЛрдЯреЗрд╢рди рдФрд░ рдХреЛрдИ рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреНрд░реАрдо рд╕рдВрдЧреНрд░рд╣рдг рдирд╣реАрдВ рд╣реИред




рдЖрдЗрдЯрдо рдЧреЛ рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реЗ


рдкреНрд░рднрд╛рд╡ рд╕рдВрдЦреНрдпрд╛ рд░реВрдкрд╛рдВрддрд░рдг


рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдЯрд╛рдЗрдк рд░реВрдкрд╛рдВрддрд░рдг рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рджреБрднрд╛рд╖рд┐рдпрд╛ рдпрд╛ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдПрдХ рдЗрдВрдЯреНрдпреВ рд╡реИрд▓реНрдпреВ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд░реВрдкрд╛рдВрддрд░рдг рдЧреЛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЬрдм рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╢рд╛рдмреНрджрд┐рдХ рдХреЗ рд╡рд╛рдХреНрдп-рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, int, float, string, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЧреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЦреЛрдЬреЗрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЧреЛ рд╕рдВрдХрд▓рдХ рдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ float64 int рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред

 a := 1.0 // same as float64(1.0) b := 1 // same as int(1) fmt.Printf("%f", a*b) // invalid operation: a * b (mismatched types float64 and int) 

рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕


рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдЖрд░рдВрднреАрдХрд░рдг рд╣реИ, рдФрд░ рд╡рд┐рдзреНрд╡рдВрд╕рдХ рдЕрдкрдиреЗ рд╕реЗрд╡рд╛ рдЬреАрд╡рди рдФрд░ рдореБрдХреНрдд рдореЗрдореЛрд░реА рдХреЗ рдмрд╛рдж рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд╖реНрдЯ рдХрд░рдирд╛ рд╣реИред рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЧреЛ рдореЗрдВ рдХреЛрдИ рдХрдХреНрд╖рд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдФрд░ рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рд╕рдВрдЪрд╛рд▓рдХ рдЕрдзрд┐рднрд╛рд░


рдСрдкрд░реЗрдЯрд░ рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рд╡рд╣ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдСрдкрд░реЗрдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдВрдЪрд╛рд▓рдХ рдкрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ + рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рджреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рди "+" рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЯрд╛рдЗрдк '1' + 1 рдХрд╛ рдПрдХ рдСрдкрд░реЗрд╢рди рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ "11" рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдЧреЛ рдореЗрдВ рдРрд╕реА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рдСрдкрд░реЗрдЯрд░ рдХрдбрд╝рд╛рдИ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди


рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдпрд╛ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред Go рднрд╛рд╖рд╛ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рдЖрдк рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди / рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЧреЛ рдореЗрдВ рдЖрдк рдХреЗрд╡рд▓ рддрднреА рдЪреЗрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдХреЛрдИ рдорд╛рди рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред рдЧреЛ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛ред

 func Concat1(a string, b int) string { if a == "" { a = "default-a" } if b == 0 { b = 5 } return fmt.Sprintf("%s%d", a, b) } 

рд╡рд┐рд░рд╛рд╕рдд


рдХреНрдпреЛрдВрдХрд┐ рдЧреЛ рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдкрд░рд┐рдЪрд┐рдд рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЧреЛ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╡рд┐рд░рд╛рд╕рдд OOP рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд░реНрдЧ рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд░реНрдЧ рдкрджреНрдзрддрд┐ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗрддрд╛ рд╣реИред рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо рдХрдИ рд╕реНрддрд░реЛрдВ рдореЗрдВ рдЧрд╣рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЧреЛ рдореЗрдВ, рдХрд┐рд╕реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдХреЗрд╡рд▓ рд╕реВрдЪрдХ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдпрд╛ рд╕рд╣рдпреЛрдЧреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреЛ рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд░рдЪрдирд╛ рдиреАрдЪреЗ рджреА рдЧрдИ рд╣реИред рдЧреЛ рдореЗрдВ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреА рдЬрдЧрд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдореМрдЬреВрдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЧреЛ рдЗрдВрдЯрд░рдлреЗрд╕ рдирд┐рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВред

 type TokenType uint16 type Token struct { Type TokenType Data string } type IntegerConstant struct { Token *Token Value uint64 } 

рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ


рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдПрдХ рдРрд╕рд╛ рд░реВрдк рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЬреЗрдирд░рд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдиреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреИрдЯрд░реНрди рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдиреНрд╣реЗрдВ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдЗрдП рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдкреИрдЯрд░реНрди рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдПрдХ рд░реВрдк рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЛред рд╣рдо рдПрдХ рдРрд╕рд╛ рдкреНрд░рдкрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рд░рд┐рдХреНрдд рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдмрд╛рдж рдореЗрдВ рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдлрд┐рд░, рдЬрдм рд╣рдореЗрдВ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╣рдо рдХреЗрд╡рд▓ рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдк рдХрд░реЗрдВред

 template<typename T> class MyContainer { // Container that deals with an arbitrary type T }; void main() { // Make MyContainer take just ints. MyContainer<int> intContainer; } 

рдЙрдкрд░реЛрдХреНрдд рд╕реНрдирд┐рдкреЗрдЯ C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм MyContainer рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░, рдЬреИрд╕реЗ float , double , рдЖрджрд┐ рдХреЛ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕реЗрдЯ рдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЪрд▓рд╛рддреЗ рд╕рдордп рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред

рдЕрдкрд╡рд╛рдж


рдПрдХ рдЕрдкрд╡рд╛рдж рдПрдХ рдЙрдЪрд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╡рд░реЛрдзрди рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдкрд╡рд╛рдж рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкреВрд░реНрдг рд╡рд┐рд░рд╛рдо рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ, рдЗрд╕реЗ рдмрд╛рдзрд┐рдд рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреЛ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЬреИрд╕реА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмреАрдЪ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рддреБрд░рдВрдд рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдзрд┐рдХ рдХрдареЛрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЬрд╛рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рдореИрдХреНрд░реЛ


рдореИрдХреНрд░реЛрдВ рдореИрдХреНрд░реЛ рдХрдорд╛рдВрдб рд╣реИрдВред рдпрд╣ рдЗрдирдкреБрдЯ рдХреЗ рджрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо C рдореЗрдВ рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╡рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдмрд╕ x * x рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ x рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдореИрдХреНрд░реЛ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╡рд░реНрдЧ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдореИрдХреНрд░реЛрдЬрд╝ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдирд╣реАрдВ рд╣реИрдВред рдЧреЛ рдореЗрдВ рдореИрдХреНрд░реЛрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред

 #define square(x) ((x) * (x)) int main() { int four = square(2); // same as 2 * 2 return 0; } 

рдлрд╝реАрдЪрд░ рдПрдиреЛрдЯреЗрд╢рди


рдПрдиреЛрдЯреЗрд╢рди рдПрдХ рддрд░рд╣ рд╕реЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдлрдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдкрд╛рдпрдерди рдореЗрдВ, рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдЖрдЗрдП рдкрд╛рдпрдерди рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред

 def foo(a: int, b: 'description', c: float) -> float: print(a+b+c) foo(1, 3, 2) // prints 6.0 foo('Hello ', , 'World!') // prints Hello World! 

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ, рдХреБрдЫ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде a , b рдФрд░ c рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред a рдФрд░ c int рдФрд░ float рдкреНрд░рдХрд╛рд░ рдХреЗ c рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ c , рдЬрдмрдХрд┐ b рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред foo рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рддрд░реНрдХреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд┐рдВрдЯ foo ред

рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреНрд░реАрдо рд╕рдВрдЧреНрд░рд╣рдг


рд▓реЛрдХрд▓ рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯреЛрд░реЗрдЬ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рдпрд╛ рд╡реИрд╢реНрд╡рд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдерд┐рд░ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдБ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдЯреНрд░реАрдо рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕реНрдЯреИрдЯрд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреНрд░реАрдо рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдЕрдкрдиреЗ рд╕реНрдЯреЛрд░ рдкрд░ред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЧреЛ рдиреЗ рд╕рд╛рджрдЧреА рдФрд░ рд╢рд╛рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рддреЗрдЬ, рдЫреЛрдЯрд╛ рдФрд░ рд╕рд░рд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рдЕрдиреНрдп рдУрдУрдкреА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЗрд╕рдХреА рдХрдо рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд┐рд░ рдореЗрдВ рдЬрдорд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧреЛ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдиреЗ рднрд╛рд╖рд╛ рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЧреБрдгрд╛рддреНрдордХ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ рднрд╛рд╖рд╛ рдХреА рд╕рд░рд▓рддрд╛ рдХреЛ рдЪреБрдирд╛ред рдЗрд╕рд▓рд┐рдП, рдЧреЛ рдореЗрдВ рд╡реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдкрд╛рд░реНрд╕рд░ рдХреЛ рдзреАрдорд╛ рдФрд░ рдмрдбрд╝рд╛ рдмрдирд╛рддреА рд╣реИрдВред рд╕рд╛рджрдЧреА рдЕрдЪреНрдЫреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдХреБрдВрдЬреА рд╣реИред
рдиреЛрдЯред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд▓реЗрдЦреЛрдВ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд╣ рд╕рдм рд╣реИред

рдкрд╣рд▓рд╛ рднрд╛рдЧ рдкрдврд╝реЗрдВ

Source: https://habr.com/ru/post/hi464543/


All Articles