This commit is contained in:
github-actions[bot] 2023-10-31 15:25:51 +00:00
parent ece421d77e
commit 340818c400
4 changed files with 4 additions and 4 deletions

View File

@ -186,7 +186,7 @@ func main() {
</code></pre>
<p>注释语句以 <code>//</code> 开头。对于程序员来说,<code>//</code> 之后到行末之间所有的内容都是注释,被编译器忽略。按照惯例,我们在每个包的包声明前添加注释;对于 <code>main package</code>,注释包含一句或几句话,从整体角度对程序做个描述。</p>
<p><code>var</code> 声明定义了两个 <code>string</code> 类型的变量 <code>s</code><code>sep</code>。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的 <em>零值</em>zero value数值类型是 <code>0</code>,字符串类型是空字符串 <code>&quot;&quot;</code>。这个例子里,声明把 <code>s</code><code>sep</code> 隐式地初始化成空字符串。第 2 章再来详细地讲解变量和声明。</p>
<p>对数值类型Go 语言提供了常规的数值和逻辑运算符。而对 <code>string</code> 类型,<code>+</code> 运算符连接字符串(译注:和 C++ 或者 JavaScript 是一样的)。所以表达式:<code>sep + os.Args[i]</code> 表示连接字符串 <code>sep</code><code>os.Args</code>。程序中使用的语句:<code>s+=sep+os.Args[i]</code> 是一条 <em>赋值语句</em>,将 <code>s</code> 的旧值跟 <code>sep</code><code>os.Args[i]</code> 连接后赋值回 <code>s</code>,等价于:<code>s=s+sep+os.Args[i]</code></p>
<p>对数值类型Go 语言提供了常规的数值和逻辑运算符。而对 <code>string</code> 类型,<code>+</code> 运算符连接字符串(译注:和 C++ 或者 JavaScript 是一样的)。所以表达式:<code>sep + os.Args[i]</code> 表示连接字符串 <code>sep</code><code>os.Args[i]</code>。程序中使用的语句:<code>s+=sep+os.Args[i]</code> 是一条 <em>赋值语句</em>,将 <code>s</code> 的旧值跟 <code>sep</code><code>os.Args[i]</code> 连接后赋值回 <code>s</code>,等价于:<code>s=s+sep+os.Args[i]</code></p>
<p>运算符 <code>+=</code> 是赋值运算符assignment operator每种数值运算符或逻辑运算符<code>+</code><code>*</code>,都有对应的赋值运算符。</p>
<p><code>echo</code> 程序可以每循环一次输出一个参数,这个版本却是不断地把新文本追加到末尾来构造字符串。字符串 <code>s</code> 开始为空,即值为 <code>&quot;&quot;</code>每次循环会添加一些文本第一次迭代之后还会再插入一个空格因此循环结束时每个参数中间都有一个空格。这是一种二次加工quadratic process当参数数量庞大时开销很大但是对于 <code>echo</code>,这种情形不大可能出现。本章会介绍 <code>echo</code> 的若干改进版,下一章解决低效问题。</p>
<p>循环索引变量 <code>i</code><code>for</code> 循环的第一部分中定义。符号 <code>:=</code><em>短变量声明</em>short variable declaration的一部分这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句。下一章有这方面更多说明。</p>

View File

@ -317,7 +317,7 @@ func main() {
</code></pre>
<p>注释语句以 <code>//</code> 开头。对于程序员来说,<code>//</code> 之后到行末之间所有的内容都是注释,被编译器忽略。按照惯例,我们在每个包的包声明前添加注释;对于 <code>main package</code>,注释包含一句或几句话,从整体角度对程序做个描述。</p>
<p><code>var</code> 声明定义了两个 <code>string</code> 类型的变量 <code>s</code><code>sep</code>。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的 <em>零值</em>zero value数值类型是 <code>0</code>,字符串类型是空字符串 <code>&quot;&quot;</code>。这个例子里,声明把 <code>s</code><code>sep</code> 隐式地初始化成空字符串。第 2 章再来详细地讲解变量和声明。</p>
<p>对数值类型Go 语言提供了常规的数值和逻辑运算符。而对 <code>string</code> 类型,<code>+</code> 运算符连接字符串(译注:和 C++ 或者 JavaScript 是一样的)。所以表达式:<code>sep + os.Args[i]</code> 表示连接字符串 <code>sep</code><code>os.Args</code>。程序中使用的语句:<code>s+=sep+os.Args[i]</code> 是一条 <em>赋值语句</em>,将 <code>s</code> 的旧值跟 <code>sep</code><code>os.Args[i]</code> 连接后赋值回 <code>s</code>,等价于:<code>s=s+sep+os.Args[i]</code></p>
<p>对数值类型Go 语言提供了常规的数值和逻辑运算符。而对 <code>string</code> 类型,<code>+</code> 运算符连接字符串(译注:和 C++ 或者 JavaScript 是一样的)。所以表达式:<code>sep + os.Args[i]</code> 表示连接字符串 <code>sep</code><code>os.Args[i]</code>。程序中使用的语句:<code>s+=sep+os.Args[i]</code> 是一条 <em>赋值语句</em>,将 <code>s</code> 的旧值跟 <code>sep</code><code>os.Args[i]</code> 连接后赋值回 <code>s</code>,等价于:<code>s=s+sep+os.Args[i]</code></p>
<p>运算符 <code>+=</code> 是赋值运算符assignment operator每种数值运算符或逻辑运算符<code>+</code><code>*</code>,都有对应的赋值运算符。</p>
<p><code>echo</code> 程序可以每循环一次输出一个参数,这个版本却是不断地把新文本追加到末尾来构造字符串。字符串 <code>s</code> 开始为空,即值为 <code>&quot;&quot;</code>每次循环会添加一些文本第一次迭代之后还会再插入一个空格因此循环结束时每个参数中间都有一个空格。这是一种二次加工quadratic process当参数数量庞大时开销很大但是对于 <code>echo</code>,这种情形不大可能出现。本章会介绍 <code>echo</code> 的若干改进版,下一章解决低效问题。</p>
<p>循环索引变量 <code>i</code><code>for</code> 循环的第一部分中定义。符号 <code>:=</code><em>短变量声明</em>short variable declaration的一部分这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句。下一章有这方面更多说明。</p>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long