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

рд╕рд╛рдордЧреНрд░реА, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрдЬ рд╣рдо рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЧреЛ-рд╕рдВрдХреБрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЖрд╡рд╢реНрдпрдХ рд╢рд░реНрддреЗрдВ
- рдЕрдкрдиреЗ рдЧреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдВ (рдпрд╣рд╛рдВ рдЬрд╛рдиреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ )ред рдПрдХ рдЧреЛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдПрдВ (рдЙрдкрд░реЛрдХреНрдд рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкрд╛рдВрдЪрд╡рд╛рдВ рдмрд┐рдВрджреБ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ)ред рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЖрдк рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдШрд░ рдкрд░ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдЖрдк рдЙрдирд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддреЗ рд╣реИрдВред
GOPATH
рдЕрдкрдиреЗ рдЬреНрдЮрд╛рди рдХреЛ рдЧрд╣рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред
рдкреИрдХреЗрдЬ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЖрдпрд╛рдд рдХрд░рдирд╛
рдкреИрдХреЗрдЬ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдирд┐рдпрдорд┐рдд рдЧреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкреИрдХреЗрдЬ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕, рдкреНрд░рдХрд╛рд░ рдФрд░ рдЪрд░ рдХреА рдШреЛрд╖рдгрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдЕрдиреНрдп рдЧреЛ-рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗрдВ, рд╣рдореЗрдВ рдЧреЛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣
GOPATH
рдЪрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ рд╕реНрдерд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд╕рдВрдЧрдарди рдХреЛ
gopherguides
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рд╣рдо, рднрдВрдбрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ,
GitHub
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐,
GOPATH
рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
тФФтФАтФА $GOPATH тФФтФАтФА src тФФтФАтФА github.com тФФтФАтФА gopherguides
рд╣рдо рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдирд╛рдо рджреЗрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗ,
greet
ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
gopherguides
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ
greet
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореМрдЬреВрджрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрди рд░реВрдк рд▓реЗрдЧреА:
тФФтФАтФА $GOPATH тФФтФАтФА src тФФтФАтФА github.com тФФтФАтФА gopherguides тФФтФАтФА greet
рдЕрдм рд╣рдо
greet
рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкрд╣рд▓реА рдлрд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдкреИрдХреЗрдЬ рдХрд╛ рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕реЗ рдкреИрдХреЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд╕рдорд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо,
greet
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ,
greet.go
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
тФФтФАтФА $GOPATH тФФтФАтФА src тФФтФАтФА github.com тФФтФАтФА gopherguides тФФтФАтФА greet тФФтФАтФА greet.go
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо
Hello
рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВрдЧреЗ, рдЬреЛ рдкрд╛рда
Hello, World!
рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
Hello, World!
ред
рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ
greet.go
рдЦреЛрд▓реЗрдВред рдлрд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрди рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
package greet import "fmt" func Hello() { fmt.Println("Hello, World!") }
рдЖрдЗрдП рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЙрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдБрдХрд┐ рд╣рдо
greet
package
, рдпрд╣рд╛рдБ
package
рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рдж рдкреИрдХреЗрдЬ рдХрд╛ рдирд╛рдо рдЖрддрд╛ рд╣реИ:
package greet
рдпрд╣ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
greet
рдкреИрдХреЗрдЬ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛, рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ
import
рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
import
рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ -
fmt
:
import "fmt"
рдФрд░ рдЕрдВрдд рдореЗрдВ, рд╣рдо
Hello
рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рд╡рд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрдХреЗрдЬ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛
Hello, World!
:
func Hello() { fmt.Println("Hello, World!") }
рдЕрдм
greet
рдкреИрдХреЗрдЬ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреИрдХреЗрдЬ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЪрд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо
greet
рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЕрд░реНрдерд╛рддреН, рд╣рдо рдПрдХ
example
рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реАрдВ рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдЬрд╣рд╛рдБ рд╕реЗ рд╣рдо рдЖрдЧреЗ рдмрдврд╝реЗ,
greet
рдкреИрдХреЗрдЬ рдмрдирд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ,
gopherguides
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
example
рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ:
тФФтФАтФА $GOPATH тФФтФАтФА src тФФтФАтФА github.com тФФтФАтФА gopherguides тФФтФАтФА example
рдЕрдм рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬреЛ рдкреИрдХреЗрдЬ рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рд╣реЛред рд╣рдо рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рди рдХрд┐ рдРрд╕реЗ рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрдирдкреБрдЯ рдкреЙрдЗрдВрдЯреНрд╕ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рдЖрдорддреМрд░ рдкрд░
main.go
:
тФФтФАтФА $GOPATH тФФтФАтФА src тФФтФАтФА github.com тФФтФАтФА gopherguides тФФтФАтФА example тФФтФАтФА main.go
рд╕рдВрдкрд╛рджрдХ рдореЗрдВ
main.go
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░
main.go
рдирд┐рдореНрди рдХреЛрдб
main.go
, рдЬреЛ рдЖрдкрдХреЛ
main.go
рдкреИрдХреЗрдЬ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
package main import "github.com/gopherguides/greet" func main() { greet.Hello() }
рд╣рдордиреЗ
main.go
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
greet
рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ рдШреЛрд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбреЙрдЯ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдбреЙрдЯ рд╕рдВрдХреЗрддрди рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреИрдХреЗрдЬ рдирд╛рдо рдФрд░ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдирд╛рдо рдХреЗ рдмреАрдЪ рдПрдХ рдбреЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
greet
рдкреИрдХреЗрдЬ рдореЗрдВ,
Hello
рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдбреЙрдЯ рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
: greet.Hello()
ред
рдЕрдм рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:
go run main.go
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЯрд░реНрдорд┐рдирд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:
Hello, World!
рдЕрдм рдЖрдЗрдП рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдШреЛрд╖рд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реИрд░рд┐рдПрдмрд▓ рдбрд┐рдХреНрд▓реЗрд░реЗрд╢рди рдХреЛ
greet.go
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
package greet import "fmt" var Shark = "Sammy" func Hello() { fmt.Println("Hello, World!") }
main.go
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдБ
fmt.Println()
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ
greet.go
рдореЗрдВ рджрд┐рдП рдЧрдП
Shark
рдЪрд░ рдХреЗ рдорд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдк рдореЗрдВ
main.go
:
package main import ( "fmt" "github.com/gopherguides/greet" ) func main() { greet.Hello() fmt.Println(greet.Shark) }
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБ:
go run main.go
рдЕрдм рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧреА:
Hello, World! Sammy
рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреИрд╕реЗ рдХрд░реЗрдВред
Name
рдФрд░
Color
рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдПрдХ
Octopus
рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдБ, рдФрд░ рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБред рдпрд╣ рд╡рд┐рдзрд┐, рдЬрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ,
Octopus
рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╕рд╛рдордЧреНрд░реА рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред рдЪрд▓реЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЙрд░реНрдо рдореЗрдВ
greet.go
рдХрд░реЗрдВ:
package greet import "fmt" var Shark = "Sammy" type Octopus struct { Name string Color string } func (o Octopus) String() string { return fmt.Sprintf("The octopus's name is %q and is the color %s.", o.Name, o.Color) } func Hello() { fmt.Println("Hello, World!") }
рдЕрдм
main.go
рдЦреЛрд▓реЗрдВ, рдЗрд╕рдореЗрдВ рдирдП рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ
String()
рд╡рд┐рдзрд┐ рдХреЛ рджреЗрдЦреЗрдВ:
package main import ( "fmt" "github.com/gopherguides/greet" ) func main() { greet.Hello() fmt.Println(greet.Shark) oct := greet.Octopus{ Name: "Jesse", Color: "orange", } fmt.Println(oct.String()) }
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛
Octopus
рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЬреЛ
Octopus
рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
oct := greet.Octopus
, рдЖрдк рдкреНрд░рдХрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
main.go
рдлрд╛рдЗрд▓
main.go
ред рдпрд╣, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ
greet
рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛
main.go
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реНрдерд┐рдд
oct.String()
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
oct.Color
рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
Color
рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рд╣рдо, рдЬрдм рд╣рдо рд╡рд┐рдзрд┐ рдХрд╣рддреЗ рд╣реИрдВ,
greet
рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВред
Octopus
рдкреНрд░рдХрд╛рд░ рдХреА
String
рд╡рд┐рдзрд┐
fmt.Sprintf
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рдХреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреА рд╣реИ рдФрд░ рд░рд┐рдЯрд░реНрди, рдкрд░рд┐рдгрд╛рдо, рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╡рд┐рдзрд┐ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реНрдерд╛рди
main.go
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБ:
go run main.go
рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЛ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЧрд╛:
Hello, World! Sammy The octopus's name is "Jesse" and is the color orange.
рдЕрдм рдЬрдм рд╣рдордиреЗ рдСрдХреНрдЯреЛрдкрд╕ рдХреЛ
String
рд╡рд┐рдзрд┐ рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪрдирд╛ рдЙрддреНрдкрд╛рджрди рдкреНрд░рдгрд╛рд▓реА рдорд┐рд▓ рдЧрдИ рд╣реИ рдЬреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣
greet.go
рдореЗрдВ рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдЗрдХрд╛рдИ рдирд┐рд░реНрдпрд╛рдд
рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ рдХрд┐
greet
рдкреИрдХреЗрдЬ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдореЗрдВ рдРрд╕реЗ рдирд╛рдо рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдЧреЛ рдореЗрдВ
public
,
private
рдпрд╛
protected
рдЬреИрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдореЙрдбрд┐рдлрд╛рдпрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╣реИрдВред рдмрд╛рд╣рд░реА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рджреГрд╢реНрдпрддрд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдХрд┐рд╕ рдкрддреНрд░ рдХреЗ рд╕рд╛рде, рдПрдХ рдЫреЛрдЯреЗ рдпрд╛ рдмрдбрд╝реЗ рдХреЗ рд╕рд╛рде, рдЙрдирдХреЗ рдирд╛рдо рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░рдХрд╛рд░, рдЪрд░, рдлрд╝рдВрдХреНрд╢рди рдЬрд┐рдирдХреЗ рдирд╛рдо рдПрдХ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╡рд░реНрддрдорд╛рди рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк
Octopus
рдкреНрд░рдХрд╛рд░ рдХреЛ
reset
рдирд╛рдордХ рдПрдХ рдирдИ рд╡рд┐рдзрд┐ рд╕реЗ рд▓реИрд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ
main.go
рдкреИрдХреЗрдЬ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
main.go
рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдирд╣реАрдВ, рдЬреЛ
main.go
рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд╣рд░ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рд╣реИред
package greet import "fmt" var Shark = "Sammy" type Octopus struct { Name string Color string } func (o Octopus) String() string { return fmt.Sprintf("The octopus's name is %q and is the color %s.", o.Name, o.Color) } func (o Octopus) reset() { o.Name = "" o.Color = "" } func Hello() { fmt.Println("Hello, World!") }
рдЪрд▓реЛ
main.go
рдлрд╝рд╛рдЗрд▓ рд╕реЗ
reset
рдХреЙрд▓
reset
рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:
package main import ( "fmt" "github.com/gopherguides/greet" ) func main() { greet.Hello() fmt.Println(greet.Shark) oct := greet.Octopus{ Name: "Jesse", Color: "orange", } fmt.Println(oct.String()) oct.reset() }
рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рд╣реЛрдЧреА:
oct.reset undefined (cannot refer to unexported field or method greet.Octopus.reset)
Octopus
рдкреНрд░рдХрд╛рд░
reset
рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░ рдХреА рдЬрдЧрд╣, рд▓реЛрдЕрд░рдХреЗрд╕
r
, рдкреВрдВрдЬреАрдЧрдд рдкреВрдВрдЬреА рдХреЗ рд╕рд╛рде
R
рд╣рдо рдЗрд╕реЗ
greet.go
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдХрд░рддреЗ рд╣реИрдВред
package greet import "fmt" var Shark = "Sammy" type Octopus struct { Name string Color string } func (o Octopus) String() string { return fmt.Sprintf("The octopus's name is %q and is the color %s.", o.Name, o.Color) } func (o Octopus) Reset() { o.Name = "" o.Color = "" } func Hello() { fmt.Println("Hello, World!") }
рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ рдХрд┐ рд╣рдо
Reset
рдХреЛ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рд╕реЗ рдФрд░ рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ:
package main import ( "fmt" "github.com/gopherguides/greet" ) func main() { greet.Hello() fmt.Println(greet.Shark) oct := greet.Octopus{ Name: "Jesse", Color: "orange", } fmt.Println(oct.String()) oct.Reset() fmt.Println(oct.String()) }
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдПрдБ:
go run main.go
рдпрд╣рд╛рдБ рд╕рд╛рдВрддреНрд╡рдирд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реИ:
Hello, World! Sammy The octopus's name is "Jesse" and is the color orange The octopus's name is "" and is the color .
Reset
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рд╣рдордиреЗ рдЕрдкрдиреЗ
Octopus
рдЙрджрд╛рд╣рд░рдг рдХрд╛
Name
рдФрд░
Color
рдлрд╝реАрд▓реНрдб рд╕рд╛рдлрд╝ рдХрд┐рдпрд╛ред рдирддреАрдЬрддрди,
String
рдХрд╣рддреЗ рд╕рдордп, рдЬрд╣рд╛рдВ рдкрд╣рд▓реЗ
Name
рдФрд░
Color
рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЧрдИ рдереА, рдЕрдм рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдЧреЛ рдкреИрдХреЗрдЬ рд▓рд┐рдЦрдирд╛ рдирд┐рдпрдорд┐рдд рдЧреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреИрдХреЗрдЬ рдХреЛрдб рдХреЛ рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд░рдЦрдиреЗ рд╕реЗ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЧреЛ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдордиреЗ рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рдВрд╕, рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА, рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдЗрди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреА рдЬрд╛рдВрдЪ рдХреА, рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдЙрдирдХреЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХрд╣рд╛рдБ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╣реИред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдЧреЛ рдкрд░ рдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЙрдирдореЗрдВ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?
