随笔分类 -  go语言

摘要:map是key-value数据结构,又称为字段或者关联数组。类似其他编程语言中的集合,在编程中是经常使用到。 map的声明: 基本语法: var map变量名 map[keytype]valuetype key 可以是什么类型? golang中的map,的key 可以是很多种类型,比如 bool,数 阅读全文
posted @ 2019-08-23 22:47 我是一只忙碌的小青蛙 阅读(213) 评论(0) 推荐(0) 编辑
摘要:多维数组我们只介绍二维数组。 二维数组的应用场景: 比如我们开发一个五子棋游戏,棋盘就是需要二维数组来表示。 二维数组的使用: 快速入门案例:请用二维数组输出如下图形0 0 0 0 0 00 0 1 0 0 00 2 0 3 0 00 0 0 0 0 0 代码演示: func main() { // 阅读全文
posted @ 2019-08-23 22:41 我是一只忙碌的小青蛙 阅读(171) 评论(0) 推荐(0) 编辑
摘要:在Golang中,我们常用的查找有两种: 1)顺序查找 2)二分查找 顺序查找: 1)有一个数列:白眉鹰王、金毛狮王、紫衫龙王、青翼蝠王 猜数游戏:从键盘中任意输入一个名称,判断数列中是否包含此名称 案例演示:func main() { //思路 //1.定义一个字符串数组 //2.从控制台接收一个 阅读全文
posted @ 2019-08-23 22:32 我是一只忙碌的小青蛙 阅读(149) 评论(0) 推荐(0) 编辑
摘要:排序是将一组数据,依指定的顺序进行排列的过程。 排序的分类: 1)内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序。 包括(交换式排序法、选择式排序法和插入式排序法); 2)外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 包括(合并排序法和直接合并排序法) 阅读全文
posted @ 2019-08-23 22:26 我是一只忙碌的小青蛙 阅读(151) 评论(0) 推荐(0) 编辑
摘要:切片的遍历: 切片的遍历和数组一样,也有两种方式 1)for 循环常规方式遍历 2)for-range 结构遍历切片 两种方式都在下面的代码里: 案例演示: func main() { //使用常规的for循环遍历切片 var arr [5]int = [...]int{10,20,30,40,50 阅读全文
posted @ 2019-08-14 23:57 我是一只忙碌的小青蛙 阅读(190) 评论(0) 推荐(0) 编辑
摘要:数组复杂使用--数组反转 要求:随机生成五个数,并将其反转打印 通过找规律反转 package mainimport ( "fmt" "math/rand" "time") func main() { //思路 //1.随机生成五个数, rand.Intn() 函数 //2.当我们得到随机数后,就放 阅读全文
posted @ 2019-08-14 23:46 我是一只忙碌的小青蛙 阅读(327) 评论(0) 推荐(0) 编辑
摘要:数组的遍历: 方式1-常规遍历: 前面已经讲过了,不在赘述。 方式2-for-range结构遍历 这是Go语言一种独有的结构,可以用来遍历访问数组的元素 基本语法:for inde, value := range array01 { ...} 说明: 1)第一个返回值 index 是数组的下标 2) 阅读全文
posted @ 2019-08-14 23:32 我是一只忙碌的小青蛙 阅读(168) 评论(0) 推荐(0) 编辑
摘要:为什么需要数组? 问题: 一个养鸡场有6只鸡,它们的体重分别是3kg, 5kg, 1kg, 3.4kg, 2kg, 50kg。请问这六只鸡的总体重是多少?平均体重是多少?请你编写一个程序。 使用传统方法解决。 func main() { //分析思路:定义六个变量,分别表示六只鸡的,然后求出和,然后 阅读全文
posted @ 2019-08-14 23:17 我是一只忙碌的小青蛙 阅读(243) 评论(0) 推荐(0) 编辑
摘要:错误处理机制: 先看一段代码:看看输出什么? package mainimport "fmt" func test() { num1 := 10 num2 := 0 res := num1 / num2 fmt.Println("res=",res)} func main() { test() fm 阅读全文
posted @ 2019-08-14 23:07 我是一只忙碌的小青蛙 阅读(1393) 评论(0) 推荐(0) 编辑
摘要:Golang设计者为了编程方便,提供了一些函数,这些函数可以直接使用,我们称为Go的内置函数。文档:https://studygolang.com/pkgdoc -> builtin 1)len:用来求长度,比如string、array、slice、map、channel 2)new:用来分配内存, 阅读全文
posted @ 2019-08-14 22:57 我是一只忙碌的小青蛙 阅读(125) 评论(0) 推荐(0) 编辑
摘要:在编程中,程序员会经常使用到日期相关的函数,比如:统计某段代码执行话费的时间等等。 1)时间和日期相关函数,需要导入time包 2)time.Time 类型,用于表示时间 3)获取到当前时间的方法:now := time.Now() //now 的类型就是time.Time func main() 阅读全文
posted @ 2019-08-14 22:54 我是一只忙碌的小青蛙 阅读(417) 评论(0) 推荐(0) 编辑
摘要:字符串中常用的函数: 字符串在我们程序开发中,使用的非常多的,常用的函数我们需要掌握: 1)统计字符串的长度,按字节len(str) func main() { //golang的编码统一为UTF-8的(ascii码的字符(数字和字母) 占一个字节,汉字占用3个字节 ) str := "hello北 阅读全文
posted @ 2019-08-14 22:46 我是一只忙碌的小青蛙 阅读(283) 评论(0) 推荐(0) 编辑
摘要:函数参数的传递方式: 基本介绍: 我们在讲解函数注意事项和使用细节时,已经讲过值类型和引用类型了,这里我们在系统总结一下,因为这是重难点,值类型参数默认就是值传递,而引用类型参数默认就是引用传递。 两种传递方式: 1)值传递 2)引用传递 其实,不管是值传递还是引用传递,传递给函数的都是变量的副本, 阅读全文
posted @ 2019-08-14 22:37 我是一只忙碌的小青蛙 阅读(599) 评论(0) 推荐(0) 编辑
摘要:为什么需要defer? 在函数中,程序员经常需要创建资源(比如:数据库连接、文件句柄、锁等),为了在函数执行完毕后,及时的释放资源,Go的设计者提供defer (延时机制)。 快速入门案例: func sum(n1 int, n2 int) int { //当执行到defer时,暂时不执行,会将de 阅读全文
posted @ 2019-08-14 22:28 我是一只忙碌的小青蛙 阅读(393) 评论(0) 推荐(0) 编辑
摘要:基本介绍: 闭包就是一个函数和与其相关的引用环境组合的一个整体(实体) 案例演示: package mainimport ( "fmt") //累加器func AddUpper() func (int) int { var n int = 10 return func (x int) int { n 阅读全文
posted @ 2019-08-14 22:21 我是一只忙碌的小青蛙 阅读(157) 评论(0) 推荐(0) 编辑
摘要:init函数: 基本介绍: 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用。 案例说明: //init函数,通常可以在init函数中完成初始化工作func init() { fmt.Println("init().. 阅读全文
posted @ 2019-08-14 22:12 我是一只忙碌的小青蛙 阅读(268) 评论(0) 推荐(0) 编辑
摘要:1)函数的形参列表可以是多个,返回值列表也可以是多个。 2)形参列表和返回值列表的数据类型可以是值类型和引用类型 3)函数的命名遵循标识符命名规范,首字母不能是数字,首字母大写该函数可以被本报文件和其它包文件使用,类似public,首字母小写,只能被本包使用,其它包文件不能使用,类似private 阅读全文
posted @ 2019-08-13 00:53 我是一只忙碌的小青蛙 阅读(739) 评论(0) 推荐(0) 编辑
摘要:基本介绍: 一个函数在函数体内又调用了本身,我们称为递归调用 代码1: package main import ( "fmt") func test(n int) { if n > 2 { n-- test(n) } fmt.Println("n=", n)} func main() { test( 阅读全文
posted @ 2019-08-13 00:46 我是一只忙碌的小青蛙 阅读(495) 评论(0) 推荐(0) 编辑
摘要:为了让大家更好的理解函数调用过程,看两个案例,并画出示意图,这个很重要。1)传入一个数+1 test 对上图说明: (1)在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理,让这个新的空间和其它栈的空间区分开来。 (2)在每个函数对应的栈中,数据空间是独立的,不会混淆。 (3)当一 阅读全文
posted @ 2019-08-13 00:38 我是一只忙碌的小青蛙 阅读(373) 评论(0) 推荐(0) 编辑
摘要:为完成某一功能的程序指令(语句)的集合,称为函数。在Go中,函数分为:自定义函数、系统函数(查看Go编程手册) 基本语法: func 函数名 (形参列表) (返回值类型列表) { 执行语句... return 返回值列表} 1)形参列表:表示函数的输入2)函数中的语句:表示为了实现某一功能代码块3) 阅读全文
posted @ 2019-08-13 00:34 我是一只忙碌的小青蛙 阅读(213) 评论(0) 推荐(0) 编辑