19 рдЬреВрди 2023┬╖4 рдорд┐рдирдЯ рдкрдврд╝рдиреЗ рдореЗрдВ

рдЧреЛ рдореЗрдВ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐

рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдореЗрдВ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБ, рддрдХрдиреАрдХреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдФрд░ рдордЬрдмреВрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВред AppMaster-рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдЧреЛрд▓рдВрдЧ рдХреЛрдб рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝реА рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЧрдбрд╝рдмрдбрд╝рд┐рдпреЛрдВ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреА рдЧрдбрд╝рдмрдбрд╝рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВред

рдЧреЛ  рдореЗрдВ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐

рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рд╕рдордЭрдирд╛

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

  1. рдмрдврд╝реА рд╣реБрдИ рдХреЛрдб рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛: рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рд╕реЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдлрд▓рддрд╛ рдореЛрдбреЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдФрд░ рд╢рд╛рд▓реАрдирддрд╛ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИред
  2. рдмреЗрд╣рддрд░ рдХреЛрдб рд░рдЦрд░рдЦрд╛рд╡: рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╕реЗ рдХреЛрдб рдХреЛ рдкрдврд╝рдирд╛, рд╕рдордЭрдирд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рддреНрд░реБрдЯрд┐ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред
  3. рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡: рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЕрд░реНрде рд╕реВрдЪрдирд╛рддреНрдордХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рдорд╕реНрдпрд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдЧрд▓реЗ рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдордЧреНрд░ рдЕрдиреБрднрд╡ рд╣реЛрддрд╛ рд╣реИред
  4. рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА: рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдпрд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИрдВ рдпрджрд┐ рдареАрдХ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рди рдЬрд╛рдПред рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рддрдХрдиреАрдХ рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдФрд░ рдЙрдирд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрдареЛрд░рддрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред

рдЧреЛ рдореЗрдВ рдмреЗрд╕рд┐рдХ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ

рдЧреЛ рдореЗрдВ, рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ error рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рддреНрд░реБрдЯрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 рдкреНрд░рдХрд╛рд░ рддреНрд░реБрдЯрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ {
    рддреНрд░реБрдЯрд┐ () рд╕реНрдЯреНрд░рд┐рдВрдЧ
}

Error() рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЛ error рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЧреЛ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ:

  1. рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдПрд░рд░: рдЧреЛ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛ рдПрд░рд░ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ error рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рджреВрд╕рд░реЗ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдкрд╣рд▓рд╛ рдорд╛рди рдЖрдорддреМрд░ рдкрд░ рд╕рдлрд▓ рд░рд┐рдЯрд░реНрди рд╡реИрд▓реНрдпреВ рд╣реИ)ред
  2. рд▓реМрдЯрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛: рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдЬреЛ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, nil рдпрд╛ рдЧреИрд░- nil рдорд╛рди рдХреЗ рд▓рд┐рдП рд▓реМрдЯрд╛рдИ рдЧрдИ рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рдПрдХ рдЧреИрд░- nil рдорд╛рди рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИред
  3. рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛: рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВ, рдпрд╛ рддреЛ рд▓реЙрдЧрд┐рдВрдЧ рдХрд░рдХреЗ, рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЧреЛ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ:

 рдореБрдЦреНрдп рдкреИрдХреЗрдЬ

рдЖрдпрд╛рдд (
    "рдПрдлрдПрдордЯреА"
    "рд╕реНрдЯреНрд░рдХреЛрдирд╡"
)

рдлрдВрдХ рдореЗрди () {
    numStr: = "123"
    numInt, рддреНрд░реБрдЯрд┐: = strconv.Atoi (numStr)
    рдЕрдЧрд░ рдЧрд▓рддреА! = рд╢реВрдиреНрдп {
        fmt.Println ("рддреНрд░реБрдЯрд┐ рд╣реБрдИ:", рддреНрд░реБрдЯрд┐)
        рд╡рд╛рдкрд╕ рдХрд░рдирд╛
    }

    fmt.Println ("рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╕рдВрдЦреНрдпрд╛:", numInt)
}

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, strconv.Atoi() рдлрд╝рдВрдХреНрд╢рди рдПрдХ int рдорд╛рди рдФрд░ рдПрдХ error рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди рдХрд╣реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЧреИрд░- nil рдорд╛рди рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореБрджреНрд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд▓рдкреЗрдЯрдиреЗ рдХреА рддрдХрдиреАрдХ

рддреНрд░реБрдЯрд┐ рд░реИрдкрд┐рдВрдЧ рдПрдХ рдРрд╕реА рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдореВрд▓ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП рддреНрд░реБрдЯрд┐ рдореЗрдВ рд╕рдВрджрд░реНрдн рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЖрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред Go 1.13 рдиреЗ fmt.Errorf() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдИ рдХреНрд░рд┐рдпрд╛, %w рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐ рд▓рдкреЗрдЯрдиреЗ рдХреА рд╢реБрд░реБрдЖрдд рдХреА, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╕рдордп, рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереАред рдЧреЛ рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

 рдореБрдЦреНрдп рдкреИрдХреЗрдЬ

рдЖрдпрд╛рдд (
    "рдЧрд▓рддрд┐рдпрд╛рдБ"
    "рдПрдлрдПрдордЯреА"
    "рдУрдПрд╕"
)

рдлрдВрдХ рдореЗрди () {
    рддреНрд░реБрдЯрд┐: = openFile ("non_existent.txt")
    рдЕрдЧрд░ рдЧрд▓рддреА! = рд╢реВрдиреНрдп {
        fmt.Println ("рддреНрд░реБрдЯрд┐ рд╣реБрдИ:", рддреНрд░реБрдЯрд┐)
    }
}

func openFile (рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ) рддреНрд░реБрдЯрд┐ {
    _, рддреНрд░реБрдЯрд┐: = рдУрдПрд╕ рдУрдкрди (рдлрд╝рд╛рдЗрд▓ рдирд╛рдо)
    рдЕрдЧрд░ рдЧрд▓рддреА! = рд╢реВрдиреНрдп {
        рд╡рд╛рдкрд╕реА fmt.Errorf ("рдлрд╝рд╛рдЗрд▓% s рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓:% w", рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рддреНрд░реБрдЯрд┐)
    }
    рд╡рд╛рдкрд╕реА рд╢реВрдиреНрдп
}

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ os.Open() рдлрд╝рдВрдХреНрд╢рди рдПрдХ рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЛ рд╕реАрдзреЗ рд▓реМрдЯрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЗрд╕реЗ fmt.Errorf() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрджрд░реНрдн рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореВрд▓ рдХрд╛рд░рдг рдХреА рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╕рдордп, рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╡рд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ рдЬреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛:

 рддреНрд░реБрдЯрд┐ рд╣реБрдИ: рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ non_existent.txt: open non_existent.txt: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ

рдЧреЛ рдореЗрдВ рдЖрдо рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдиреБрдХрд╕рд╛рди

Go рдмреИрдХрдПрдВрдб рддреЗрдЬреА рд╕реЗ рдмрдирд╛рдПрдВ
рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реБрд╕рдВрдЧрдд рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде Go рдмреИрдХрдПрдВрдб рдмрдирд╛рдПрдВред
AppMaster рдЖрдЬрд╝рдорд╛рдПрдБ

рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕рд╛рдорд╛рдиреНрдп рдиреБрдХрд╕рд╛рди рд╕реЗ рдмрдЪрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬреЛ рдЕрд╕реНрдерд┐рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдиреБрдХрд╕рд╛рдиреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

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

AppMaster-рдЬрдирд┐рдд рдЧреЛрд▓рдВрдЧ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛

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

рдорд╛рдирдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдкреИрдЯрд░реНрди

AppMaster рдЧреЛ рдХреЗ рдорд╛рдирдХ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкреИрдЯрд░реНрди рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдмрд┐рд▓реНрдЯ-рдЗрди error рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред

рд▓рдкреЗрдЯрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐

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

рд╕рд╛рд░реНрдердХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢

рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╡рд░реНрдгрдирд╛рддреНрдордХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рдФрд░ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐

AppMaster-рдЬрдирд┐рдд рдЧреЛрд▓рдВрдЧ рдХреЛрдб рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди, panic() рдФрд░ recover() рдХрд╛ рдиреНрдпреВрдирддрдо рдЙрдкрдпреЛрдЧ, рдФрд░ рд╡реНрдпрд╛рдкрдХ рддреНрд░реБрдЯрд┐ рдЬрд╛рдБрдЪ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ, AppMaster рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдЧреЛрд▓рдВрдЧ рдХреЛрдб рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдкрдХреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред

рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕

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

рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд╛рдкрд┐рдд рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХреБрдЫ рдкреНрд░рдореБрдЦ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  1. рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ: рдпрд╣ рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрдзрд╛рд░рд╢рд┐рд▓рд╛ рд╣реИред рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рддрджрдиреБрд╕рд╛рд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓реЗрдВред
  2. рд╕рдВрджрд░реНрдн рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд░рд░ рд░реИрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдПрд░рд░ рд░реИрдкрд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреИрд╕реЗ рдХрд┐ Go 1.13 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП, рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдкрд░ рд╕рдВрджрд░реНрдн рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рдФрд░ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  3. рдорд╛рдирдХ error рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ: рдЧреЛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдХрд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдкреНрд░рдХрд╛рд░ error рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрд╕реНрдЯрдо рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдорд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддреЗ рд╣реИрдВред
  4. рдХрдо рд╕реЗ рдХрдо рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ: рдЕрдкрдиреА рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рд░рдгрдиреАрддрд┐ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдФрд░ рд╕рд╣рдЬ рдмрдирд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦреЗрдВред рдЗрд╕рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕реБрд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдФрд░ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╣реА рд╕реНрддрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
  5. рдЙрдЪрд┐рдд рд╕реНрддрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ: рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╣реА рд╕реНрддрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рддреНрд░реБрдЯрд┐ рдХреЛ рд▓реЙрдЧрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реЛ, рдХрд┐рд╕реА рдСрдкрд░реЗрд╢рди рдХреЛ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реЛ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреНрд░реБрдЯрд┐ рдХреЛ рдмреБрджрдмреБрджрд╛ рд░рд╣рд╛ рд╣реЛред рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рдпрд╛ рдХреНрдпрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рддрджрдиреБрд╕рд╛рд░ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВред

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

рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди

рдЧреЛ рдореЗрдВ рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ?

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

рдЖрдк рдЧреЛ рдореЗрдВ рдХрд╕реНрдЯрдо рдПрд░рд░ рдХреИрд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ?

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

рдЧреЛ рдореЗрдВ рдПрд░рд░ рд░реИрдкрд┐рдВрдЧ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ?

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

рдЧреЛ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдХреНрдпрд╛ рд╣реИрдВ?

рдЧреЛ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛, panic() рдФрд░ recover() рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЕрдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдЬрд╛рдБрдЪ, рдФрд░ рдорд╛рдирдХ error рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рдирд╛ред

AppMaster рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдЧреЛрд▓рдВрдЧ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХрд╛ рд╕рдорд░реНрдерди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

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

рдЧреЛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдХреБрдЫ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИрдВ?

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

рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╕рд╛рди
рдХреБрдЫ рдмрдирд╛рдПрдВ рдЕрджреНрднреБрдд

рдлреНрд░реА рдкреНрд▓рд╛рди рдХреЗ рд╕рд╛рде рдРрдкрдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
рдЬрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ рддрдм рдЖрдк рдЙрдЪрд┐рдд рд╕рджрд╕реНрдпрддрд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдУ
рдЧреЛ рдореЗрдВ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐ | AppMaster