go

go


第九单元(运算符)

<h1>一、 Go语言运算符</h1> <h3>运算符用于在程序运行时执行数学或逻辑运算。</h3> <p>Go 语言内置的运算符有:</p> <ul> <li>算术运算符</li> <li>关系运算符</li> <li>逻辑运算符</li> <li>位运算符</li> <li>赋值运算符</li> <li>其他运算符</li> </ul> <h3>1.算术运算符</h3> <table> <thead> <tr> <th>运算符</th> <th>描述</th> <th>实例(假定 A 值为 10,B 值为 20)</th> </tr> </thead> <tbody> <tr> <td>+</td> <td>相加</td> <td>A + B 输出结果 30</td> </tr> <tr> <td>-</td> <td>相减</td> <td>A - B 输出结果 -10</td> </tr> <tr> <td>*</td> <td>相乘</td> <td>A * B 的是200</td> </tr> <tr> <td>/</td> <td>相除</td> <td>B / A 输出结果 2</td> </tr> <tr> <td>%</td> <td>求余</td> <td>B % A 输出结果 0</td> </tr> <tr> <td>++</td> <td>自增</td> <td>A++ 输出结果 11</td> </tr> <tr> <td>--</td> <td>自减</td> <td>A-- 输出结果 9</td> </tr> </tbody> </table> <pre><code class="language-go"> package main import "fmt" func main(){     var a int = 10     var b int = 3     var c int     c = a + b     fmt.Printf("第一行- c的值为 %d\n",c)     c = a - b     fmt.Printf("第二行- c的值为 %d\n",c)     c = a * b     fmt.Printf("第二行- c的值为 %d\n",c)     c = a / b     fmt.Printf("第二行- c的值为 %d\n",c)     c = a % b     fmt.Printf("第二行- c的值为 %d\n",c) }</code></pre> <h1>2.比较运算符</h1> <table> <thead> <tr> <th>运算符</th> <th>描述</th> <th>实例</th> </tr> </thead> <tbody> <tr> <td>==</td> <td>检查两个值是否相等,如果相等返回 True 否则返回 False</td> <td>(A == B) 为 True</td> </tr> <tr> <td>!=</td> <td>检查两个值是否不相等,如果不相等返回 True 否则返回 False</td> <td>(A != B) 为 True</td> </tr> <tr> <td>&gt;</td> <td>检查左边值是否大于右边值,如果是返回 True 否则返回 False。</td> <td>(A &gt; B) 为 False</td> </tr> <tr> <td>&lt;</td> <td>检查左边值是否小于右边值,如果是返回 True 否则返回 False。</td> <td>(A &lt; B) 为 True</td> </tr> <tr> <td>&gt;=</td> <td>检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。</td> <td>(A &gt;= B) 为 False</td> </tr> <tr> <td>&lt;=</td> <td>检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。</td> <td>(A &lt;= B) 为 True</td> </tr> </tbody> </table> <pre><code class="language-go">package main import "fmt" func main() { var a int = 21 var b int = 10 if( a == b ) { fmt.Printf("第一行 - a 等于 b\n" ) } else { fmt.Printf("第一行 - a 不等于 b\n" ) } if ( a &lt; b ) { fmt.Printf("第二行 - a 小于 b\n" ) } else { fmt.Printf("第二行 - a 不小于 b\n" ) } if ( a &gt; b ) { fmt.Printf("第三行 - a 大于 b\n" ) } else { fmt.Printf("第三行 - a 不大于 b\n" ) } /* Lets change value of a and b */ a = 5 b = 20 if ( a &lt;= b ) { fmt.Printf("第四行 - a 小于等于 b\n" ) } if ( b &gt;= a ) { fmt.Printf("第五行 - b 大于等于 a\n" ) } }</code></pre> <h2>3.逻辑运算符</h2> <table> <thead> <tr> <th>运算符</th> <th>描述</th> <th>实例(假定 A 值为 True,B 值为 False)</th> </tr> </thead> <tbody> <tr> <td>&amp;&amp;</td> <td>逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False</td> <td>(A &amp;&amp; B) 为 False</td> </tr> <tr> <td>ll</td> <td>逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False</td> <td>(A ll B) 为 True</td> </tr> <tr> <td>!</td> <td>逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。</td> <td>!(A &amp;&amp; B) 为 True</td> </tr> </tbody> </table> <h2>4.赋值运算符</h2> <table> <thead> <tr> <th>运算符</th> <th>描述</th> <th>实例</th> </tr> </thead> <tbody> <tr> <td>=</td> <td>简单的赋值运算符,将一个表达式的值赋给一个左值</td> <td>C = A + B 将 A + B 表达式结果赋值给 C</td> </tr> <tr> <td>+=</td> <td>相加后再赋值</td> <td>C += A 等于 C = C + A</td> </tr> <tr> <td>-=</td> <td>相减后再赋值</td> <td>C -= A 等于 C = C - A</td> </tr> <tr> <td>*=</td> <td>相乘后再赋值</td> <td>C *= A 等于 C = C * A</td> </tr> <tr> <td>/=</td> <td>相除后再赋值</td> <td>C /= A 等于 C = C / A</td> </tr> <tr> <td>%=</td> <td>求余后再赋值</td> <td>C %= A 等于 C = C % A</td> </tr> <tr> <td>&lt;&lt;=</td> <td>左移后赋值</td> <td>C &lt;&lt;= 2 等于 C = C &lt;&lt; 2</td> </tr> <tr> <td>>&gt;=</td> <td>右移后赋值</td> <td>C &gt;&gt;= 2 等于 C = C &gt;&gt; 2</td> </tr> <tr> <td>&amp;=</td> <td>按位与后赋值</td> <td>C &amp;= 2 等于 C = C &amp; 2</td> </tr> <tr> <td>^=</td> <td>按位异或后赋值</td> <td>C ^= 2 等于 C = C ^ 2</td> </tr> <tr> <td>l=</td> <td>按位或后赋值</td> <td>C l= 2 等于 C = C</td> <td>2</td> </tr> </tbody> </table> <h2>5.其他运算符</h2> <p>下表列出了Go语言的其他运算符。</p> <table> <thead> <tr> <th>运算符</th> <th>描述</th> <th>实例</th> </tr> </thead> <tbody> <tr> <td>&amp;</td> <td>返回变量存储地址</td> <td>&a; 将给出变量的实际地址</td> </tr> <tr> <td>*</td> <td>指针变量。 *a;</td> <td>是一个指针变量</td> </tr> </tbody> </table>

页面列表

ITEM_HTML