рдЧреЛ рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ 4 рддрд░реАрдХреЗ

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


  package main import ( "github.com/vigo5190/goimports-example/a" foo "github.com/vigo5190/goimports-example/a" . "github.com/vigo5190/goimports-example/b" _ "github.com/vigo5190/goimports-example/c" ) 

рдпрджрд┐ рдорд╛рдирдХ рдЖрдпрд╛рдд, рдПрдХ рд╕рдорд╛рдирд╛рд░реНрдердХ рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдд рдФрд░ _ рдореИрдВ рдорд┐рд▓рд╛, рддреЛ рд╕реЗ рдЖрдпрд╛рдд рдХрд░реЗрдВ . рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ред


рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЧреЛ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреИрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдкрд╣рд▓реА рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдореЗрдВ (рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдпрдерд╛) main.go рдлрд╝рд╛рдЗрд▓ рдирд┐рд╣рд┐рдд рд╣реИ, рдЬреЛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░, рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рд▓реЙрдиреНрдЪ рдХреА рдЬрд╛рддреА рд╣реИ


 go run main.go 

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдШреЛрд╖рд┐рдд рдкреИрдХреЗрдЬ main рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред


 package main import ( "fmt" ) func main() { fmt.Println("Hello habr.com!") } 

рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ main рдкреИрдХреЗрдЬ рдореЗрдВ func main() рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдереЛрдбрд╝рд╛ рд╣реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП func init() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди func main() рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЗ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдПрдХ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕рдЯреАрдХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рддрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдкрд╣рд▓реА рдмрд╛рд░ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рд╕рд╛рд░реНрдердХ рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рдиреЗ рдкрд░ init() рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рдкреИрдХреЗрдЬ рдЙрджрд╛рд╣рд░рдг


рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ рдЪрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред


github.com/vigo5190/goimports-example/a
 package a var Foo string 

рдкреИрдХреЗрдЬ b , рдЪрд░ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ init() рдХреЛ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИред


github.com/vigo5190/goimports-example/b
 package b var Foo string func init() { Foo = "bar" } 

рдкреИрдХреЗрдЬ c рдЪрд░ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ init() рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ init() рдФрд░ рд╕реНрдЯреИрдбрдЖрдЙрдЯ рдореЗрдВ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред


github.com/vigo5190/goimports-example/c
 package c import "fmt" var Foo string func init() { Foo = "bar" fmt.Printf("%#v\n", Foo) } 

рдЖрдпрд╛рдд "рд╕рд░рд▓"


рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо 2 рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ stdout рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╣реИрдВред


 package main import ( "fmt" "github.com/vigo5190/goimports-example/a" "github.com/vigo5190/goimports-example/b" ) func main() { fmt.Printf("%#v\n", a.Foo) fmt.Printf("%#v\n", b.Foo) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ


 go run main.go "" "bar" 

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХреЛрдб рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред import рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, 2 рдкреИрдХреЗрдЬ a рдФрд░ b рдЖрдпрд╛рдд рдХрд┐рдП b ред рдкреИрдХреЗрдЬ рдореЗрдВ a рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╡рд╛рд▓рд╛ a рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП - рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ)ред рдкреИрдХреЗрдЬ b , рд╡реИрд░рд┐рдПрдмрд▓ рд╡реИрд▓реНрдпреВ рдХреЛ "bar" рдорд╛рди рдХреЗ init() рдореЗрдВ рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЗ рдЪрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдо <_>.<_> рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред


рдЖрдпрд╛рдд рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА


 package main import ( "fmt" "github.com/vigo5190/goimports-example/a" foo "github.com/vigo5190/goimports-example/b" bar "github.com/vigo5190/goimports-example/a" ) func main() { fmt.Printf("%#v\n", a.Foo) fmt.Printf("%#v\n", foo.Foo) fmt.Printf("%#v\n", bar.Foo) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ


 go run main.go "" "bar" "" 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреИрдХреЗрдЬ b рдкрд░реНрдпрд╛рдпрд╡рд╛рдЪреА foo b рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреИрдХреЗрдЬ a рдХрдИ рдмрд╛рд░ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ a - рджреВрд╕рд░реА рдмрд╛рд░ рдЙрд░реНрдл bar рддрд╣рддред


рдкреИрдХреЗрдЬ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рдирд╛рд░реНрдереА рд╕реЗрдЯ рдХрд░рдХреЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:


  • рдЖрдпрд╛рддрд┐рдд рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ / рдмрджрд╕реВрд░рдд / ... рд╣реИ рдФрд░ рдореИрдВ рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ;
  • рдЖрдпрд╛рддрд┐рдд рдПрдХ рдХрд╛ рдирд╛рдо рджреВрд╕рд░реЗ рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддрд╛ рд╣реИ;
  • рдореИрдВ рдкреИрдХреЗрдЬ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдкреИрдХреЗрдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдкрд░реНрдпрд╛рдп рдХреЗ рдФрдЪрд┐рддреНрдпрдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм github.com/sirupsen/logrus рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ:


 package db import( log "github.com/sirupsen/logrus" ) 

рдЖрдпрд╛рдд рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░реЗрдВ


 package main import ( "fmt" "github.com/vigo5190/goimports-example/a" _ "github.com/vigo5190/goimports-example/c" ) func main() { fmt.Printf("%#v\n", a.Foo) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ


 go run main.go "bar" "" 

рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдб рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╣рдо рджреЛ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ: a рдФрд░ c ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреИрдХреЗрдЬ c _ c рдкрд╣рд▓реЗ рд╣реИ рдФрд░ рдкреИрдХреЗрдЬ рд╕реНрд╡рдпрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ рд╕реЗ init() рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, "bar" рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдкреИрдХреЗрдЬ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрдВрдХреНрд╢рди c ред


рдиреНрдпрд╛рдпреЛрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг _

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм github.com/lib/pq рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ:


 package db import( _ "github.com/lib/pq" ) 

init() lib/pq рдХреЛрдб рд╣реИ:


 func init() { sql.Register("postgres", &Driver{}) } 

рдЬреЛ рдЪрд╛рд▓рдХ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдЧрд╛ред


рдЖрдпрд╛рдд рд╕реА рдбреЙрдЯ


 package main import ( "fmt" "github.com/vigo5190/goimports-example/a" . "github.com/vigo5190/goimports-example/b" ) func main() { fmt.Printf("%#v\n", a.Foo) fmt.Printf("%#v\n", Foo) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ


 go run main.go "" "bar" 

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


рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдгред


рдЙрджрд╛рд╣рд░рдг 1
 package main import ( . "fmt" ) func main() { Println("Hello, habr.com!") } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:


 Hello, habr.com! 

рдЙрджрд╛рд╣рд░рдг 2
 package main import ( . "fmt" . "math" ) func main() { Printf("%v\n", Sqrt(9)) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:


 3 

рдбреЙрдЯ рдХреЗ рд╕рд╛рде рдЖрдпрд╛рдд (рдФрд░ рддреНрд░реБрдЯрд┐)


 package main import ( "fmt" . "github.com/vigo5190/goimports-example/a" . "github.com/vigo5190/goimports-example/b" ) func main() { fmt.Printf("%#v\n", Foo) } 

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ


 go run main.go # command-line-arguments ./main.go:7:2: Foo redeclared during import "github.com/vigo5190/goimports-example/b" previous declaration during import "github.com/vigo5190/goimports-example/a" ./main.go:7:2: imported and not used: "github.com/vigo5190/goimports-example/b" 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рдореМрдЬреВрджрд╛ рджрд╛рдпрд░реЗ рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред


рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдлрд┐рд░ рд╕реЗ рд╕реЛрдЪреЗрдВ - рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИред


рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░


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


рдкреБрдирд╢реНрдЪ


рдХреЛрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЧрд┐рдердм рдкрд░ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ ред

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


All Articles