Go语言基础语法(一)本文介绍一些Go语言的基础语法 。
先来看一个简单的go语言代码go语言运算符:
go语言的注释方法go语言运算符:
代码执行结果:
下面来进一步介绍go的基础语法 。
go语言中格式化输出可以使用 fmt 和 log 这两个标准库go语言运算符 ,
常用方法:
示例代码:
执行结果:
更多格式化方法可以访问中的fmt包 。
log包实现了简单的日志服务go语言运算符,也提供了一些格式化输出的方法 。
执行结果:
下面来介绍一下go的数据类型
下表列出了go语言的数据类型:
int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址,这个地址存储最终的值 。
常量是在程序编译时就确定下来的值,程序运行时无法改变 。
执行结果:
执行结果:
Go 语言的运算符主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及指针相关运算符 。
算术运算符:
关系运算符:
逻辑运算符:
位运算符:
赋值运算符:
指针相关运算符:
下面介绍一下go语言中的if语句和switch语句 。另外还有一种控制语句叫select语句,通常与通道联用,这里不做介绍 。
if语法格式如下:
if ... else :
else if:
示例代码:
语法格式:
另外,添加 fallthrough 会强制执行后面的 case 语句,不管下一条case语句是否为true 。
示例代码:
执行结果:
下面介绍几种循环语句:
执行结果:
执行结果:
也可以通过标记退出循环:
--THE END--
go语言操作符 ^ 和 &^很多语言都是采用 ~ 作为按位取反运算符go语言运算符 , Go 里面采用的是 ^。
如果作为二元运算符,^ 表示按位异或,即:对应位相同为 0 , 相异为 1 。
操作符 ^,按位置零,例如:z = x ^ y , 表示如果 y 中的 bit 位为 1,则 z 对应 bit 位为 0,否则 z 对应 bit 位等于 x 中相应的 bit 位的值 。
对于有符号的整数来说,是按照补码进行取反操作的(快速计算方法:对数 a 取反,结果为 -(a 1) ) , 对于无符号整数来说就是按位取反
计算过程
以3为例3在内存中补码为 0*** 0011
取反1*** 1100
-1操作1*** 1011
除符号位取反1*** 0100 结果为-4
【go语言运算符 go语言常用函数】-------------------------------------------
以9为例 9在内存中补码为 0*** 1001
取反1*** 0110
-1操作1*** 0101
除符号位取反1*** 1010 结果为-10
-------------------------------------------
以-5为例 -5在内存中为的补码为 1*** 1011
为什么呢
-5源码1*** 0101
除符号取反1*** 1010
1操作1*** 1011
-------------------------------------------
那么-5取反怎么算
补码 1***1011取反为 0***0100
因为符号位为0,所以是正数go语言运算符了,正数的补码反码源码都是一个,所以是4
===================================
再看-1
-1源码1*** 0001
除符号取反1*** 1110
1操作1*** 1111
补码 1*** 1111 取反为 0*** 0000
因为符号位为0,所以是正数go语言运算符了,正数的补码反码源码都是一个,所以是0
go语言取反输出的例子看这里
Go语言”奇怪用法“有哪些1,go的变量声明顺序是:”先写变量名,再写类型名“,此与C/C的语法孰优孰劣 , 可见下文解释:
2 , go是通过package来组织的(与python类似),只有package名为main的包可以包含main函数 , 一个可执行程序有且仅有一个main包,通过import关键字来导入其他非main包 。
3,可见性规则 。go语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包含调用 。根据约定,函数名首字母小写即为private,函数名首字母大写即为public 。
4,go内置关键字(25个均为小写) 。
5 , 函数不用先声明,即可使用 。
6,在函数内部可以通过 := 隐士定义变量 。(函数外必须显示使用var定义变量)
7,go程序使用UTF-8编码的纯Unicode文本编写 。
8,使用big.Int的陷阱:
9,从技术层面讲,go语言的语句是以分号分隔的 , 但这些是由编译器自动添加的,不用手动输入,除非需要在同一行中写入多个语句 。没有分号及只需少量的逗号和圆括号,使得go语言的程序更容易阅读 。
10,go语言只有一个循环结构——for循环 。
11,go里的自增运算符只有——“后”
12,go语言中的slice用法类似python中数组,关于slice的详细用法可见:
13,函数也是一个值,使用匿名函数返回一个值 。
14,函数闭包的使用,闭包是一个匿名函数值,会引用到其外部的变量 。
Go语言中的符号“左移运算符()
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0) 。
例:a = a2 将a的二进制位左移2位 , 右补0,
左移1位后a = a * 2;
若左移时舍弃的高位不包含1 , 则每左移一位,相当于该数乘以2 。
右移运算符()
将一个数的各二进制位全部右移若干位 , 正数左补0,负数左补1,右边丢弃 。
操作数每右移一位 , 相当于该数除以2 。
例如:a = a2 将a的二进制位右移2位,
左补0 or 补1 得看被移数是正还是负 。
在go语言中,支不支持像C语言中的问号表达式Go不支持条件运算符 , 出了代码行数多一点,没什么不简洁的 。
a := 1
if true {
a = 2
}
go语言运算符的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于go语言常用函数、go语言运算符的信息别忘了在本站进行查找喔 。
推荐阅读
- 关于转账到手机上怎么查看姓名的信息
- 直播效果有什么作用,直播效果有什么作用和意义
- 专业毕业设计网站,毕业设计个人网站
- 怎么找oracle用户名 怎么查oracle用户名
- jquery选择下一标签,jquery选择器下标从几开始
- pdf图片手机怎么保存,手机上pdf图片怎么保存
- mysql官网下载太慢怎么办 mysql官网下载太慢怎么办啊
- 手机qq使用cpu干什么,占用cpu100
- 什么是美的英语视频,什么是美英文翻译