π¬ ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° //go:generate?
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ
π ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
1. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
2. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β
3. ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ
π‘
//go:generate
β ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π² Go, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ. ΠΠ½Π° Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ go generate
, ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ. ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ
go generate
Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°, Go ΠΈΡΠ΅Ρ Π²ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ //go:generate
Π² ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.π ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
1. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π°
//go:generate
ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠ° Go. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π°, Π½ΠΎ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π° Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅.2. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β
//go:generate
Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: //go:generate go run generator.go
.3. ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ
go generate
Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, Go ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΡΠ΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ //go:generate
ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Ρ. Π΄.π‘
go:generate
ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠΊΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ Ρ. Π΄.