首页 > 其他分享 >GO语言基础之基本运算符

GO语言基础之基本运算符

时间:2023-10-07 20:24:50浏览次数:36  
标签:False 语言 fmt 运算符 Println GO True 赋值

GO语言基础之基本运算符

目录

一、运算符

作用:运算符用于在程序运行时执行数学或逻辑运算。

内置运算符:

Go 语言内置的运算符有:

  1. 算术运算符
  2. 关系运算符
  3. 逻辑运算符
  4. 位运算符
  5. 赋值运算符

二、算术运算符

运算符 描述
+ 相加
- 相减
* 相乘
/ 相除
% 求余

注意: ++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符

// 1. 算术运算符
a := 10
b := 20
fmt.Println(a + b)
fmt.Println(a - b)
fmt.Println(a * b)
fmt.Println(5 / 2) // 2
fmt.Println(5 % 2) // 1
/*
a++
fmt.Println(a)
a--
fmt.Println(a)
/*

三、关系运算符

运算符 描述
== 检查两个值是否相等,如果相等返回 True 否则返回 False。
!= 检查两个值是否不相等,如果不相等返回 True 否则返回 False。
> 检查左边值是否大于右边值,如果是返回 True 否则返回 False。
>= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。
< 检查左边值是否小于右边值,如果是返回 True 否则返回 False。
<= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。
// 2. 关系运算符
fmt.Println(10 > 2)
fmt.Println(10 != 2)
fmt.Println(4 <= 5)

四、逻辑运算符

运算符 描述
&& 逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。
|| 逻辑 OR 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False。
! 逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。
// 3. 逻辑运算符
fmt.Println(10 > 5 && 1 == 1)
fmt.Println(!(10 > 5))
fmt.Println(1 > 5 || 1 == 1)

五、位运算符

位运算符对整数在内存中的二进制位进行操作。

运算符 描述
& 参与运算的两数各对应的二进位相与。 (两位均为1才为1)
| 参与运算的两数各对应的二进位相或。 (两位有一个为1就为1)
^ 参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。 (两位不一样则为1)
<< 左移n位就是乘以2的n次方。 “a<<b”是把a的各二进位全部左移b位,高位丢弃,低位补0。
>> 右移n位就是除以2的n次方。 “a>>b”是把a的各二进位全部右移b位。
// 4. 位运算符
a := 1             // 001
b := 5             // 101
fmt.Println(a & b) // 001 => 1
fmt.Println(a | b) // 101 => 5
fmt.Println(a ^ b) // 100 => 4
fmt.Println(1 << 2) // 100 =>4
fmt.Println(4 >> 2) // 1   =>1

fmt.Println(1<<10) // 1024

六、赋值运算符

运算符 描述
= 简单的赋值运算符,将一个表达式的值赋给一个左值
+= 相加后再赋值
-= 相减后再赋值
*= 相乘后再赋值
/= 相除后再赋值
%= 求余后再赋值
<<= 左移后赋值
>>= 右移后赋值
&= 按位与后赋值
|= 按位或后赋值
^= 按位异或后赋值
// 5. 赋值运算符
var a int
a = 5
a += 5 // a = a + 5
fmt.Println(a)

标签:False,语言,fmt,运算符,Println,GO,True,赋值
From: https://www.cnblogs.com/taoxiaoxin/p/17747364.html

相关文章

  • Go基础之指针
    Go语言中的指针目录Go语言中的指针一、Go语言中的指针介绍1.1指针介绍1.2基本语法1.3声明和初始化1.4Go指针的3个重要概念1.4.1指针地址(PointerAddress)1.4.2指针类型(PointerType)1.4.3指针取值(PointerDereferencing)1.5获取指针的地址和解引用1.6传递指针给函数1.7指......
  • Go 复合数据类型之结构体与自定义类型
    Go复合数据类型之结构体与自定义类型目录Go复合数据类型之结构体与自定义类型一、类型别名和自定义类型1.1类型定义(TypeDefinition)简单示例1.2类型别名简单示例1.3类型定义和类型别名的区别二、结构体2.1结构体介绍2.2结构体的定义2.3定义一个空结构体2.3.1空结构体介......
  • Go基础之变量和常量
    Go基础之变量和常量目录Go基础之变量和常量一.标识符、关键字、内置类型和函数1.1标识符1.2关键字1.3保留字1.4内置类型1.4.1值类型:1.4.2引用类型:(指针类型)1.5内置函数1.6内置接口error二.Go变量命名规范2.1采用驼峰体命名2.2简单、短小为首要原则2.3变量名字中不要......
  • C语言练习--拿球小游戏
    题目:一共100个球,两人轮流拿,每人每次最多拿5个,最后一个拿的人赢;如果我先拿,怎么拿一定会赢?#include<stdio.h>#include<stdlib.h>#include<time.h>intsc();intmain(){//设置随机数生成器的种子为当前时间srand(time(NULL));intbal=100;......
  • 数据结构——C语言知识补充
    学数据结构发现代码看不懂:(参考资料:C语言--指针详解-tongye-博客园C语言结构体详解,C语言struct用法详解指针C语言的一大难点,如何理解指针和运用指针。从一个简单的应用说起:inta=1;这是一个简单的变量声明和初始化,定义了一个整型变量a,并赋值为1。而对于计算机内部,在栈......
  • YAML标记语言格式备忘
    简介YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC2822)中获得灵感。ClarkEvans在2001年首次发表了这种语言,另外IngydötNet与OrenBen-Kiki也是这语言的共同设计者......
  • Django实战项目-学习任务系统-用户登录
    第一步:先创建一个Django应用程序框架代码1,先创建一个Django项目django-adminstartprojectmysite将创建一个目录,其布局如下:mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py2,再创建一个Dja......
  • GoLang context包
    初始化一个context如果确定是开头则用Background,如果不确定则用ToDocontext包核心API有四个1.context.WithValue设置键值对,并且返回一个新的context实例2.context.WithCancel3.context.WithDeadline4.context.WithTimeout三者都返回一个可取消的context实例和取消函数,WithTi......
  • golang实现一个简单的文件浏览下载功能代码示例
    想省事用Claude(一个依托chatgpt的AI)生成一段golang的文件浏览下载示例,结果给生成的代码大概是这样的(省去了无关部分,主要部分如下):http.HandleFunc("/*",downloadFile)http.HandleFunc("/",showFileList)测试之后,结果发现每次都会走到“/”下去,无论如何都不会......
  • Go - Composing Structs from Other Structs
    Problem: Youwantastructthathasdataandmethodsofanotherstruct. Solution: Embedanunnamedstructwithinanotherstruct.Theouterstructwillgainthedataandmethodsoftheinnerstruct. Inheritanceisnottheonlymechanismyoucanusefor......