前言
我一直
有个编程梦所以就趁着这个暑假的空闲时间来学习,以下为学习笔记,目前比较基础.
第一段代码
♾️ go 代码:package main //声明所在的包,每个go文件都要有归属的包
import "fmt"//引包,为了使用包下的函数
func main(){//main 主函数 程序的入口
fmt.Println("helloword")//在控制台打印输出一段话
}
语法注意
1.源文件以"go"为扩展名
2.程序执行入口为main()函数
3.严格区分大小写
4.方法由一条条语句组成每条语句不用加分号
5.定义的函数或import未使用无法过编译.
6.大括号成对出现,不可缺少
Golang数据类型
基本数据类型
数值型
整数类型(int.int8,int16,int31,int64,uint,uint8,uint16,uint32,uint64,byte)
有符号数据类型:
类型 占用空间 表示范围 int8 1字节 -$2^7$ ~ $2^7$ -1 (-128~127) int16 2字节 -$2^{15}$~$2^{15}$-1(-32768~32767) int32 3字节 -$2^{31}$~$2^{31}$-1 int64 4字节 -$2^{64}$~$2^{63}$-1 无符号数据类型:
类型 占用空间 表示范围 uint8 1字节 0~255 uint16 2字节 0~$2^{16}$-1 uint32 3字节 0~$2^{32}$-1 int64 4字节0 0~$2^{64}$-1 其它
类型 有无符号 占用空间 表示范围 int 有 32位系统
64位系统-$2^{31}$~$2^{31}$-1
-$2^{64}$~$2^{63}$-1uint 有 32位系统
64位系统0~$2^{32}$-1
0~$2^{64}$-1rune 有 等价int32 -$2^{31}$~$2^{31}$-1 byte 无 等价uint8 0~255 注:Golang的整数类型默认声明为int
浮点类型(float32,float64)
类型 存储空间 表示范围 float32 4字节 -3.403E38~-3.403E38 float64 8字节 -1.798E308~1.798E308 *注:浮点类型底层存储:符号位+指数位+尾数位,所以尾数位只存了一个大概,可能有精度损失
字符型(无单独的字符型,用byte表示单个字母字符)
*注:汉字对应为unicode码值,byte存不下溢出可使用int
可用"+"拼接,切分换行时加号保留在上一行最后♾️ go 代码: package main import "fmt" func main() { var z int = '中' var a byte = 'a' //97 fmt.Println(a + 9) //97+6 fmt.Println(z) }
转义字符
- 布尔型(bool)
取值:true/false
占用一个字节 字符串(string)
字符串一旦定义好字符的值不可变
内容表示用双引号,字符串内有特殊字符用反引号
♾️ go 代码:package main import "fmt" func main() { var z int = '中' var a byte = 'a' //97 fmt.Println(a + 9) //97+6 fmt.Println(z) fmt.Println("\a") var n string = ` package main import "fmt" func main() { fmt.Println("helloword") } ` fmt.Println(n) }
派生数据类型/复杂数据类型
- 指针
- 数组
- 结构体
- 管道
- 函数
- 切片
- 接口
- map
变量
介绍:相当于内存中一个数据存储空间的表示
变量的使用
1.声明
2.赋值
3.使用
♾️ go 代码:package main
import "fmt"
//定义在{}外的位全局变量
var n0 int = 18
//一次性声明多个
var(
n9 int = 1
n10 int =2
)
func main(){
//定义在{}内的位局部变量
//四种使用方法
var num1 int = 18
fmt.Println(num1)
var num2 int //为负值为默认值
fmt.Println(num2)
var num3 = 1.8 //类型推断
fmt.Println(num3)
sex := "男"//省略var用:=
fmt.Println(sex)
//一次声明,赋值四个变量
var n1,n2,n3 int
var n4,n5,n6 = 1,"test",2.3
n7,n8 := 1,1
fmt.Println(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10)
}
运算符
算数运算符
+,- ,\*,/,%,++,--
package main
import "fmt"
func main() {
//+加号
//1.正数 2.相加操作 3.字符串拼接
fmt.Println(+10)
fmt.Println(1 + 1)
fmt.Println("hello" + "world")
///除号
//int除int输出为int
fmt.Println(7 / 4)
//有float输出为float
fmt.Println(7.0 / 3)
//%取模 取余数
fmt.Println(7 % 3)
//++自加加1 --自减减1
//只可单独使用,不可参与运算
//只可放在变量后
a := 6
a++
fmt.Println(a)
a--
fmt.Println(a)
}
赋值运算符
关系运算符
逻辑运算符
下表列出了所有Go语言的逻辑运算符。假定 A 值为 True,B 值为 False。