π© ΠΠΈΡΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠ²ΡΡΠ²ΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΊΠΎΡΡΡΠ»ΠΈ. Π ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡ ΡΡΠΆΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ β ΠΈ ΡΠ°ΠΌ Π²ΡΡ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ, ΠΊΠΎΡΠΎΡΠΊΠΎ, Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ. Π ΡΡ ΡΠ°ΠΊΠΎΠΉ: Β«ΠΡ ΠΊΠ°ΠΊ? ΠΠ°ΠΊ ΠΎΠ½ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»?Β» ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Ρ Π’Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ: func SumInt(a, b int) int { return a + b } func SumFloat(a, b float64) float64 { return a + b } π€‘Π Π²ΡΠΎΠ΄Π΅ Π²ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΠΎ ΠΏΠΎΡΠΎΠΌ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ 10, 20, 30β¦ Π ΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΡΡ ΠΊΠΎΠ΄, Π° Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π²Π½ΠΎΡΠΈΡΡ Π²Π΅Π·Π΄Π΅. ΠΠ°ΠΊ ΡΡΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ func Sum[T int | float64](a, b T) T { return a + b } ΠΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ΄ΠΈΠ½ ΠΊΠΎΠ΄. Π Π°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π½ΡΠΆΠ½ΡΡ
ΡΠΈΠΏΠΎΠ². ΠΠΆΠ΅Π½Π΅ΡΠΈΠΊΠΈ β ΡΡΠΎ Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ. ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠ±ΡΠ°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ΅ΡΡΠ½ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°ΡΡ ΠΏΠ»ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠΏΠΈΠΈ ΡΠ°Π΄ΠΈ ΠΊΠΎΠΏΠΈΠΉ.
π€generics, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΡΡ β ΡΡΠΎ Π½Π΅ ΠΏΡΡΡ
16Β Π°ΠΏΡΠ΅Π»Ρ16Β Π°ΠΏΡ
5
~1 ΠΌΠΈΠ½