2019-10-15 15:02:01 +03:00

183 lines
5.7 KiB
Plaintext
Generated
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Go в примерах: Выход (Exit)</title>
<link rel=stylesheet href="site.css">
</head>
<script>
onkeydown = (e) => {
if (e.key == "ArrowLeft") {
window.location.href = 'signals';
}
}
</script>
<body>
<div class="example" id="exit">
<h2><a href="./">Go в примерах</a>: Выход (Exit)</h2>
<table>
<tr>
<td class="docs">
<p>Используйте <code>os.Exit</code> для немедленного выхода с
полученныем статусом.</p>
</td>
<td class="code empty leading">
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<a href="http://play.golang.org/p/BgQ_ag62q4k" target="_blank"><img title="Run code" src="play.png" class="run" /></a><img title="Copy code" src="clipboard.png" class="copy" />
<div class="highlight"><pre><span class="kn">package</span> <span class="nx">main</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<div class="highlight"><pre><span class="kn">import</span> <span class="p">(</span>
<span class="s">&quot;fmt&quot;</span>
<span class="s">&quot;os&quot;</span>
<span class="p">)</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
</td>
<td class="code leading">
<div class="highlight"><pre><span class="kd">func</span> <span class="nx">main</span><span class="p">()</span> <span class="p">{</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
<p><code>defer</code> <em>не будет</em> запускаться при использовании
<code>os.Exit</code>, поэтому этот <code>fmt.Println</code> никогда не
будет вызываться.</p>
</td>
<td class="code leading">
<div class="highlight"><pre> <span class="k">defer</span> <span class="nx">fmt</span><span class="p">.</span><span class="nx">Println</span><span class="p">(</span><span class="s">&quot;!&quot;</span><span class="p">)</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
<p>Выход со статусом 3.</p>
</td>
<td class="code leading">
<div class="highlight"><pre> <span class="nx">os</span><span class="p">.</span><span class="nx">Exit</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
<span class="p">}</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
<p>Обратите внимание, что в отличие, например, от C,
Go не использует целочисленное возвращаемое значение
из <code>main</code>, чтобы указать состояние выхода. Если
вы хотите выйти с ненулевым статусом, вы должны
использовать <code>os.Exit</code>.</p>
</td>
<td class="code empty">
</td>
</tr>
</table>
<table>
<tr>
<td class="docs">
<p>Если вы запустите <code>exit.go</code> с помощью <code>go run</code>,
выход будет выбран <code>go</code> и напечатан.</p>
</td>
<td class="code leading">
<div class="highlight"><pre><span class="gp">$</span> go run exit.go
<span class="go">exit status 3</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
<p>Создавая и выполняя двоичный файл, вы можете
увидеть статус в терминале.</p>
</td>
<td class="code leading">
<div class="highlight"><pre><span class="gp">$</span> go build exit.go
<span class="gp">$</span> ./exit
<span class="gp">$</span> <span class="nb">echo</span> <span class="nv">$?</span>
<span class="go">3</span>
</pre></div>
</td>
</tr>
<tr>
<td class="docs">
<p>Обратите внимание, что <code>!</code> из нашей программы
никогда не был напечатан.</p>
</td>
<td class="code empty">
</td>
</tr>
</table>
<p class="footer">
by <a href="https://markmcgranaghan.com">Mark McGranaghan</a> | <a href="https://github.com/mmcgrana/gobyexample/blob/master/examples/exit">source</a> | <a href="https://github.com/mmcgrana/gobyexample#license">license</a>
<br/>
переведено Nick S. | <a href="https://github.com/badkaktus/gobyexample">исходники</a>
</p>
</div>
<script>
var codeLines = [];
codeLines.push('');codeLines.push('package main\u000A');codeLines.push('import (\u000A \"fmt\"\u000A \"os\"\u000A)\u000A');codeLines.push('func main() {\u000A');codeLines.push(' defer fmt.Println(\"!\")\u000A');codeLines.push(' os.Exit(3)\u000A}\u000A');codeLines.push('');codeLines.push('');codeLines.push('');codeLines.push('');
</script>
<script src="site.js" async></script>
</body>
</html>