Golang
文章平均质量分 70
Golang语言的学习记录(学习视频:b站【尚硅谷】Golang入门到实战教程),以及使用过程中遇到问题的相关思考
豆豆花
这个作者很懒,什么都没留下…
展开
-
【Golang】文件操作
*本文笔记参考:b站【尚硅谷】Golang入门到实战教程1、文件的基本介绍文件是数据源(保存数据的地方)的一种,如word, excel, txt都是文件。文件最主要的作用就是保存数据。流:数据在数据源(文件)和程序(内存)之间经历的路径。输入流(读文件):数据从数据源(文件)到程序(内存)的路径。输出流(写文件):数据从程序(内存)到数据源(文件)的路径。2、打开、关闭文件//打开文件file, err := os.Open("E:/study/Go_WorkSpace/s原创 2022-01-22 18:25:14 · 362 阅读 · 0 评论 -
【Golang】客户信息管理系统
1、项目需求分析实现基于文本界面的《客户信息管理软件》,该软件能够实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表。2、项目界面项目采用分级菜单方式。1)主菜单---------------客户信息管理软件--------------- 1 添加客户 2 修改客户 3 删除客户 4 客户列表 5 退...原创 2022-01-22 18:15:12 · 698 阅读 · 0 评论 -
【Golang】家庭收支记账软件
1、项目开发流程 <----需求分析---->设计阶段---->实现阶段(代码)---->测试阶段---->实施阶段---->维护阶段2、项目需求模拟实现一个基本文本界面的《家庭记账软件》,该软件能够记录家庭的收入、支出,并能够打印收支明细表。3、项目界面--------------家庭收支记账软件-------------- 1 收支明...原创 2022-01-22 18:08:28 · 407 阅读 · 0 评论 -
【Golang】封装、继承、接口、多态
案例:写一个简单的AMT程序,实现存取款和查询功能。package mainimport ( "fmt")type Pay struct { Account string Pwd string Money float64}func (pay *Pay) SaveMoney(num float64, pwd string) { if pwd != pay.Pwd { fmt.Println("密码输入错误") ...原创 2022-01-22 18:06:24 · 1775 阅读 · 0 评论 -
【Golang】结构体、方法
张老太养了两只猫:一只名字叫小白,今年3岁,白色;另一只叫小花,今年100岁,花色。请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字、年龄、颜色;如果用户输入的小猫名错误,则显示张老太没有这只猫。1、结构体 将一类事务的特性提取出来(比如猫类),形成一个新的数据类型,就是一个结构体; 通过这个结构体,我们可以创建多个变量(实例/对象); 事务可以是猫类,也可以是person或其他。 package mainimport "fmt"//定义一个Cat结构原创 2022-01-22 17:59:49 · 807 阅读 · 0 评论 -
【Golang】map
map是key-value数据结构,又称为字段或关联数组。1、map的声明var 变量名 map[keytype]valuetypekey的数据类型通常为int、string类型,也可以为bool、数字、指针、channel,还可以是只包含前面几个类型的接口、数组、结构体;但是,不能为slice、map、function,因为这几个没法用==判断。value的数据类型通常为数字(整数、浮点数)、string、map、struct。声明是不会分配内存的,初始化需要make,分配内存后才能原创 2022-01-22 17:43:06 · 1056 阅读 · 0 评论 -
【Golang】排序与查找
1、排序排序是将一组数据,依指定的顺序进行排列的过程。 内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序(包括交换式排序法、选择式排序法和插入式排序法)。 1)交换式排序法 属于内部排序法,是运用数据值比较后,根据判断规则对数据位置进行交换,以达到排序的目的。 冒泡排序法(Bubble sort) 一共会经过arr.length-1轮比较,每一轮都会确定一个数的位置; 每一轮的比较次数都会逐渐减少; 当发现前面的一个数比后面的数大时,就进行交换。原创 2022-01-22 17:36:59 · 354 阅读 · 0 评论 -
【Golang】切片
1、基本介绍 切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制; 切片的使用与数组类似,遍历切片、访问切片的元素和求切片长度的用法都与数组一样; 切片的长度是可以变化的,因此切片是一个可以动态变化的数组; 切片从底层来说,其实就是一个数据结构,包含3个变量:指针(ptr [2]int)、长度(len)、容量(cap)。 2、定义var a []int // var 切片名 []类型3、使用方法一:切片引用一个已经创建好的数组原创 2022-01-22 17:35:11 · 295 阅读 · 0 评论 -
【Golang】数组
1、一维数组 数组的第一个元素的地址,就是数组的首地址(打印地址需用%p,用%v打不出来); 数组的各个元素的地址间隔是依据数组的类型来决定,比如 int64 -> 8,int32 -> 4。 1)定义var 数组名 [长度]类型var score [5]float642)初始化var numArray01 [3]int = [3]int {1, 2, 3} # 方法一var numArray02 = [3]int {1, 2, 3} # 方法二v..原创 2022-01-22 17:30:09 · 773 阅读 · 0 评论 -
【Golang】函数
1、函数调用过程 在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间与其他的栈的空间区分开; 在每个函数对应的栈中,数据空间是相互独立的,不会混淆; 当一个函数调用完毕(执行完毕)后,程序会销毁这个函数对应的栈空间。 2、return语句 如果返回多个值,在接收时,希望忽略某个返回值,则使用符号_表示占位忽略; 如果返回值有多个,返回值类型列表要加(),如func 函数名 (形参列表) (返回值列表) {};如果返回值只有一个,则原创 2022-01-22 17:22:42 · 257 阅读 · 0 评论 -
【Golang】包
1、包的三大作用 区分相同名字的函数、变量等标识符 当程序文件很多时,可以很好的管理项目 控制函数、变量等访问范围,即作用域 2、包的相关说明打包基本语法package 包名引入包的基本语法import "包的路径"3、编译命令#方法一go build main文件夹所在的路径#方法二go build -o 指定exe文件的生成路径 main文件夹所在的路径4、闭包闭包是一个函数与其相关的引用环境组合的一个整体(实体)func原创 2022-01-22 17:06:44 · 148 阅读 · 0 评论 -
【Golang】Golang基本介绍
1、go语言的特点 一个文件是一个包 垃圾回收机制:内存自动回收,不需开发人员管理 天然并发:goroutine,轻量级线程,可实现大并发处理,高效利用多核 吸收了管道通信机制,形成了go语言特有的管道channel,通过管道channel,可以实现不同的goroutine间的相互通信 函数返回多个值 新的创新,如切片slice、延迟执行defer等 2、vscode插件安装进入工作目录\github.com\golang(若没有golang文原创 2022-01-22 17:01:56 · 620 阅读 · 0 评论 -
GoLand安装与环境配置
一、golang环境配置1、下载地址:https://golang.google.cn/dl/2、双击.msi文件进行安装:默认安装在C盘,可将路径更改至自己想要安装的路径,如D:\go3、将D:\go\bin路径添加至Path环境变量中(安装完成后,自动在环境变量中添加了D:\go\bin,若没有自动添加,则手动加上):4、新建工作目录go_workspace,测试环境:test.go的代码:pa...原创 2021-04-07 08:51:00 · 20113 阅读 · 1 评论