文章目录
-
- Go语言学习01-基本程序结构
-
- 基本程序结构
- 应用程序入口
- 退出返回值
- 编写测试程序
- 快速设置连续值
- 基本数据类型
- 类型的预定义值
- 指针类型
- 运算符
-
- 算数运算符
- 比较运算符
-
- 用 == 比较数组
- 逻辑运算符
- 位运算符
- &^ 按位 置零
Go语言学习01-基本程序结构
基本程序结构
package main // 包, 表明代码所在的模块(包)
import "fmt" // 引入代码依赖
// 功能实现
func main() {
fmt.Println("Hello World!")
}
应用程序入口
- 必须是 main 包:
package main
- 必须是 main 方法:
func main()
- 文件名不一定是
main.go
退出返回值
与其他主要编程语言的差异
-
Go 中main 函数不支持任何返回值
-
通过
os.Exit
来返回状态 -
main 函数不支持传入参数
func main(
arg [] string) -
在程序中直接通过
os.Args
获取命令行参数
编写测试程序
- 源码文件以
_test
结尾: xxx_test.go - 测试方法名以
Test
开头:func TestXXX(t *testing.T) {...}
快速设置连续值
const (
Monday = iota + 1
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
服务器托管网)
const (
Open = 1 iota
Close
Pending
)
基本数据类型
bool |
string |
int int8 int16 int32 int64 |
uint uint8 uint16 uint32 uint64 uintptr |
byte // alias for uint8 |
rune // alias for int32, represents a Unicode code point |
float32 float64 |
complex32 complex64 |
类型的预定义值
- math.MaxInt64
- math.MaxFloat64
- math.MaxUint32
指针类型
与其他主要编程语言的差异
- 不支持指针运算
- string 是值类型, 其默认的初始化值为空字符串, 而不是 nil
运算符
算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 相加 | A + B 输出结果 30 |
– | 相减 | A – B 输出结果 -10 |
* | 相乘 | A * B 输出结果 200 |
/ | 相除 | B / A 输出结果 2 |
% | 求余 | B % A 输出结果 0 |
++ | 自增 | A ++ 输出结果 11 |
– | 自减 | A – 输出结果 9 |
Go 语言没有前置的 ++, –,
(++a)
比较运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个值是否相等, 如果相等返回 True 否则返回 False | (A == B) 为 False |
!= | 检查两个值是否不相等, 如果不相等返回 True 否则返回 False | (A != B) 为 True |
> | 检查左边值是否大于右边值, 如果是返回 True 否则返回 False | (A > B) 为 False |
检查左边值是否小于右边值, 如果是返回 True 否则返回 False | (A | |
>= | 检查左边值是否大于等于右边值, 如果是返回 True 否则返回 False | (A >= B) 为 False |
检查左边值是否小于等于右边值, 如果是返回 True 否则返回 False | (A |
用 == 比较数组
- 相同维数且含有相同个数元素的数组才可以比较
- 每个元素都相同的才相等
逻辑运算符
运算符 | 描述 | 实例 |
---|---|---|
&& | 逻辑 AND 运算符. 如果两边的操作数都是 True, 则条件 True, 否则为 False. | (A && B) 为 False |
|| | 逻辑 OR 运算符. 如果两边的操作数有一个 True, 则条件 True, 否则为 False. | (A || B) 为 True |
! | 逻辑 NOT 运算符. 如果条件为 True, 则逻辑 NOT 条件 False, 否则为 True. | !(A && B) 为 True |
位运算符
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符 “&” 是双目运算符. 其功能是参与运算的两数各对应的二进位相与. | (A & B)结果为 12, 二进制为 0000 1100 |
| | 按位与运算符 “|” 是双目运算符. 其功能是参与运算的两数各对应的二进位相或. | (A | B) 结果为61, 二进制为 0011 1101 |
^ | 按位与运算符 “^” 是双目运算符. 其功能是参与运算的两数各对应的二进位相异或. | (A ^ B) 结果为49, 二进制为 0011 1101 |
左移运算符 “ | A | |
>> | 右移运算符 “>>” 是双目运算符. 右移 n 位就是除以 2 的 n 次方. 其功能是把 “>>” 左边的运算数的各二进位全部右移若干位, “>>” 右边的数指定移动的位数 | A >> 2 结果为 0000 1111 |
&^ 按位 置零
1 &^ 0 – 1
1 &^ 1 – 0
0 &^ 1 – 0
0 &^ 0 – 0
服务器托管,北京服务器托管,服务器租用 http:/服务器托管网/www.fwqtg.net