- 博客(22)
- 收藏
- 关注
原创 golang学习笔记 结构体
结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。type 结构体名称 struct{字段名 数据类型 字段名 数据类型 字段名 数据类型 …a intb stringc byte//输出默认值//{0 0}//赋值后输出s1.a = 1s1.b = "张三"s1.c = 35//{0 0}//{1 张三 35}内存分析。
2024-07-09 21:54:23
304
原创 golang学习笔记 map
1.映射(map)Go语言中内置的一种类型,它将键值对相关联,我们可以通过键 key来获取对应的值 value。类似其它语言的集合2.基本语法var map变量名 map[keytype]valuetypePS:key、value的类型:bool、数字、string、指针、channel、还可以是只包含前面几个类型的接口、结构体、数组PS:key通常为int、string类型,value通常为数字(整数、浮点数)、string、map、结构体。
2024-07-09 16:37:08
328
原创 golang学习笔记 切片
1.方式1:定义一个切片,然后让切片去引用一个已经创建好的数组。2.方式2:通过make内置函数来创建切片。基本语法: var切片名[type= make(0,len,[cap])make底层创建一个数组,对外不可见,只能通过切片对数组进行操作3.方式3:定一个切片,直接就指定具体数组,使用原理类似make的方式。
2024-07-09 10:24:29
263
原创 golang学习笔记 数组
数组是具有相同 唯一类型 的一组以编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。数组长度必须是一个常量表达式,并且必须是一个非负整数。数组长度也是数组类型的一部分,所以 [5] int 和 [10] int 是属于不同类型的。数组的编译时值初始化是按照数组顺序完成的。
2024-07-06 16:45:06
635
原创 golang学习笔记 defer
在函数中,程序员经常需要创建资源为了在函数执行完毕后,及时的释放资源,Go的设计者提供defer关键字。在defer后面语句被存入栈时,相关变量的值也会被存入栈中不会随着后面变量值的改变而改变。
2024-07-04 17:45:30
392
原创 golang学习笔记 init函数
1.init函数:初始化函数,可以用来进行一些初始化的操作每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用。2.全局变量定义,init函数,main函数的执行流程?
2024-07-04 17:44:14
289
原创 golang学习笔记 闭包
返回的是一个医名函数,但是这个匿名的数引用到函数外的变量/参数,因此这个医名的数就和变量/参数形成一个整体,构成闭包。2.闭包的本质:闭包本质依旧是一个匿名函数,只是这个函数引入外界的变量/参数匿名函数+引用的变量/参数=闭包。闭包中使用的变量/参数会一直保存在内存中,所以会一直使用—》意味着闭包不可滥用。1.什么是闭包:闭包就是一个函数和与其相关的引用环境组合的一个整体。
2024-07-04 17:42:16
378
原创 golang学习笔记 包
7.如果你要编译成一个可执行程序文件,就需要将这个包声明为 main,即 package main .这个就是一个语法规范,如果你是写一个库,包名可以自定义。3.为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言的 public ,这样才能跨包访问。1.在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils文件的包名通常和。5.如果包名较长,Go 支持给包取别名,注意细节:取别名后,原来的包名就不能使用了。
2024-07-03 20:09:57
287
原创 导包出现搜索不到包的错误,提示包不在go源码包的错误解决办法
此时GOMOD=null表示go modules 功能处于关闭状态。此时“GOMOD=”表示go modules 功能处于开启状态。找到GOMOD查看go modules状态。目录在D盘下,并且GOPATH配置没问题。打开go modules功能。
2024-07-03 17:54:42
129
原创 golang学习笔记 函数
为完成某一功能的程序指令(语句)的集合,称为函数。基本语法: type 自定义数据类型名 数据类型import ("fmt"fmt.Printf("a的数据类型是%T,a的值为%v\n",a,a)c := test//将b定义为func(int)数据类型//定义一个函数,可以作为数据类型使用type myFunc func(int)//给func(int)定义名字为jjj,并用做test01函数作为形参。
2024-07-02 22:11:28
290
原创 golang学习笔记 for循环
for 初始表达式;布尔表达式;迭代因子{循环体for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式:随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。1.初始化部分设置循环变量的初值2.条件判断部分为任意布尔表达式3.迭代因子控制循环变量的增减。
2024-07-02 11:30:32
190
原创 golang学习笔记 switch分支
switch后面是一个表达式,这个表达式的结果依次跟case进行比较,满足结果的话就执行冒号后面的代码。default是用来“兜底”的一个分文,其它case分文都不走的情况下就会走default分支。fmt.Println(“等级H”)fmt.Println(“等级I”)fmt.Println(“等级J”)switch 表达式{
2024-07-01 21:52:21
250
原创 golang学习笔记 if分支
当条件表达式成立,即执行逻辑代码1,否则执行逻辑代码2。 } else if 条件表达式2{当条件表达式为ture时,就会执行得的代码。 1. if 条件表达式 { 逻辑代码2。 逻辑代码2。 逻辑代码n。fmt.Println(“不及格”)fmt.Println(“及格”)else if 条件表达式n{if 条件表达式 {if 条件表达式 {
2024-07-01 21:51:38
207
原创 golang学习笔记 运算符
fmt.Printf(“ptr的值是:%v\n*ptr的值是:%v”,ptr,*ptr)//*ptr取出存在该地址中的值。var ptr *int = &age//定义一个指向整型的指针变量ptr。运算符用于在程序运行时执行数学或逻辑运算。位运算符对整数在内存中的二进制位进行操作。
2024-07-01 21:50:42
349
原创 golang学习笔记: 数据类型的转换
例如从一个取值范围较小的类型转换到一个取值范围较大的类型(将 int16 转换为 int32)。当从一个取值范围较大的类型转换到取值范围较小的类型时(将 int32 转换为 int16 或将 float32 转换为 int),会发生精度丢失(截断)的情况。使用 strconv.FormatInt()与strconv.FormatFloat()类型 B 的值 = 类型 B(类型 A 的值)
2024-07-01 21:48:29
280
原创 go语言学习笔记 指针
指针是一个变量,它存储了另一个变量的内存地址。通过指针,可以直接访问存储在内存中的数据。在Go语言中,可以使用 * 符号来声明指针类型,例如 *int 表示指向整数类型的指针。
2024-06-30 10:40:58
246
原创 go语言学习笔记 数据类型
int8: 有符号 8 位整型 (-128 到 127)int16:有符号 16 位整型 (-32768 到 32767)int32:有符号 32 位整型 (-2147483648 到 2147483647)int64:有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)uint8:无符号 8 位整型 (0 到 255)uint16:无符号 16 位整型 (0 到 65535)
2024-06-29 10:05:02
234
原创 go语言学习笔记 Hello world
对应目录下命令行输入go run helloword.go 跑起来 go build helloword.go 生成一个二进制文件。对应目录下命令行输入.\helloword.exe 运行生成的二进制文件。学习一门新的语言从hello word开始。
2024-06-28 21:12:45
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人