11 2019 档案
摘要:打开和关闭文件 /* 简易方式打开一个文件,拿着一顿骚操作,一秒后关闭. 以只读方式打开一个文件,创建其带缓冲的读取器,读取文件到末尾. 使用ioutil包对test.txt进行简易读取. 以创写追加或创写覆盖方法打开一个文件,缓冲式写出几行数据,倒干缓冲区后退出。 使用os包的状态检测结合,os.
阅读全文
摘要:面对对象介绍 /* 面向对象的三大特性或四大特性: 封装: 化繁为简,将业务相近的变量,函数封装为结构体(类),减少直接管理的成员数,便于做大规模开发。 继承:将公共的部分提取到父类,减少重复代码,继承另外便于扩展和覆写修改类方法 多态:1.一个父类,有多种不同的具体子类形态,2.共性:通过父类方法
阅读全文
摘要:引号作用 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 9 fmt.Println("我") //字符串 10 fmt.Println('我') //序号显示 11 fmt.Println(`我 好`) //原样输出 保留原格
阅读全文
摘要:strings包 /* 用来处理字符串的。 检索子串 格式化 比较大小 裁剪 炸碎 拼接 */ 1 package main 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 func main() { 9 10 //判断hello里有没有el字符 11 fmt.Pr
阅读全文
摘要:time包 /* 用来输出时间和测量时间的作用 显示是公历 不是农历 */ 关于时间的查询 1 package main 2 3 func main() { 4 5 /* 6 //查看当前的本地时间 7 nowtime := time.Now() 8 9 //年月日 10 year := nowti
阅读全文
摘要:os包 /* 针对操作系统的包 */ 例子 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 ) 7 8 func main() { 9 10 //获得当前的系统路径 11 dir,err := os.Getwd() 12 fmt.Println(dir,er
阅读全文
摘要:GOPATH与类库复用 /* 复用自己的包时使用。 外部类库的检索路径目录 在目录中检索代码包 */ /* 要想mylib包被检索到,就要将【路径】添加到GOPATH中 想本工程使用,就添加到本工程中GOPATH 想全局使用,就添加到全局GOPATH 首先包的上一层文件夹必须叫src 也就是xuex
阅读全文
摘要:符合类型容器综合案例 /* 封装一个对整形切片 进行排序的函数 随机招收一些学生进班 随机生成学生的成绩 对学生成绩排名并输出 封装一个对全班学生成绩进行排名的函数 将上述封装好的俩个函数丢入mylib包中 在当前工程中调用mylib包内的函数 在其他工程中调用mylib包内的函数 */ 案例 1
阅读全文
摘要:斐波那契数列 /* 斐波那契数列是: 前两项数值一样, 第三项是前两项的和 1+1=2 第四项是前二项的和 1+2=3 第五项是前二项的和 3+2=5 1 1 2 3 5 8 13 21 34 55 .... */ 使用递归求斐波那契数列第N项的值 1 //使用递归求斐波那契数列第N项的值 2 pa
阅读全文
摘要:递归 /* 函数自己调用自己就是递归. */ 连续自然数的和 /* 求1+2+3+4....+n的和 */ 循环实现 1 //循环实现 2 package main 3 4 import "fmt" 5 6 func main() { 7 8 fmt.Println(GetSum(10)) 9 10
阅读全文
摘要:循环嵌套 双层循环 打印矩阵 1 //打印一个10*10的 ** 2 package main 3 4 import "fmt" 5 6 func main(){ 7 8 //把第一个for循环,看成一行语句,然后在打印10次 一行**** 就是矩阵了 9 for j :=0;j<10;j++{ 1
阅读全文
摘要:映射 就是python里的字典 1 package main 2 3 import "fmt" 4 5 func main() { 6 7 /* 8 定义string为键 int为数值 9 var xx map[string]int =map[string]int{} 10 var xx = map
阅读全文
摘要:切片 /* 不定长,但是定类型 就是 切片 */ 初始化一个切片 //初始化一个没有元素的整型切片 var a[]int =[]int{} //make方式创建一个0长度的整型切片 a :=make([]int,0) 创建和查询切片 1 package main 2 3 import "fmt" 4
阅读全文
摘要:数组 /* 固定长度,固定类型的数据容器 是数组 */ 1 package main 2 3 import "fmt" 4 5 func main(){ 6 7 //创建数组 8 9 //创建一个5长度的整型数组。 10 //var xxx[5]int = [5]{3,1,4,1,5} //如果前面
阅读全文
摘要:进制转换 二进制 0 1 10 11 100 ... 1001 1010 1011 1100 十进制 0 1 2 3 4 ... 9 10 11 12 15 16 17 18 25 29 十六进制 0 1 2 3 4 ... 9 A B C F 0x10 0x11 0x12 0x19 0x1A 指针
阅读全文
摘要:闭包函数 /* 返回函数的函数 闭包可以保存内部函数的状态数据 正常函数结束后,声明的变量会被系统回收,没有闭包时,只能借助全局变量来保存函数的状态数据,这样有很多问题。 */ 行军例子 1 package main 2 import "fmt" 3 4 //函数可以重复调用,变量数值不会因为第一次
阅读全文
摘要:大总结 //跳出循环 break //跳过本次循环 continue //延时执行 开灯关灯案例 defer //goto goto可以到任意位置 //iota定义有规律的变量如周末 iota //级联获得比如女朋友书包水杯 fallthrough //并发处理 go func() {....}()
阅读全文
摘要:fallthrough /* 在逻辑判断过程中继续执行下一个判断。 比如 打怪游戏里,一下升了10级。 肯定是会获得1到10级的所有奖励。 不可能只获得10级的9级以下的不给了。 */ 1 //级联获得 2 package main 3 4 import "fmt" 5 6 func main()
阅读全文
摘要:小总结 //并发处理 go func() {....}() //goto语句 代码中随意跳动 不要混淆 goto xxxx //匿名函数就是一次性执行一批代码 func() {....}() //匿名有参数有返回数值的函数 func (声明传值) (声明返回值) {...}(实际调用传值) //go
阅读全文
摘要:函数返回值 1 func haha(传值) (返回值) {....} 2 func haha(a, b int) (sum int) {....} 一个返回值函数 1 package main 2 3 import "fmt" 4 5 func main() { 6 //把sum函数的返回值,传到一
阅读全文
摘要:一个参数的函数 1 //一个参数的函数 2 package main 3 4 import "fmt" 5 6 func main() { 7 haha("小明") 8 } 9 func haha(name string) { 10 fmt.Printf("你好,%s\n", name) 11 }
阅读全文
摘要:猜数字游戏,用到了生成随机数 1 package main 2 3 import ( 4 "fmt" 5 "math/rand" 6 "strconv" 7 "time" 8 ) 9 10 func main() { 11 //生成一个随机数 12 myRand := rand.New(rand.N
阅读全文
摘要:defer 延时 1 是延迟到return 之前. 2 如果不写return最后默认都有一个return 1 /* 2 defer重要的作用 3 用于比如第一件事是开灯,最后一件事肯定是关灯。 4 有时代码写了开灯,最后的代码忘记写上关灯. 5 利用defer可以实现 开灯和关灯写在一起,但是执行顺
阅读全文
摘要:goto结构 1 //在代码中流程控制 2 3 package main 4 5 import "fmt" 6 7 func main() { 8 fmt.Println("日照香炉生紫烟") 9 fmt.Println("要看瀑布挂前川") 10 fmt.Println("飞流直下三千尺") 11
阅读全文
摘要:一、for 有限次循环 1 for { 2 break //跳出循环 3 continue //掠过本次循环 4 defer //延时执行 开灯关灯案例 5 6 } 解释 i++ //自加运算 func main() { var a int = 123 a +=2 //a= a+2 125 a -=
阅读全文
摘要:if简略写法 if xxx ==true{...} 可以简写为 if xxx{...} if xxx ==false{...} 可以简写为 if !xxx{...} if 分支判断 1 01. 单分支 2 3 4 package main 5 6 import "fmt" 7 8 func main
阅读全文
摘要:运算类型 数学运算 逻辑运算 / 比较运算 位运算 整型和浮点型转化 1 //整型转浮点型(int > float64) 2 3 package main 4 5 import "fmt" 6 7 func main() { 8 var a = 123 9 fmt.Printf("a的类型是%T a
阅读全文
摘要:iota 1 //iota作用会自动递增,引用自己定义的表达式。 2 3 4 //定义所有星期,从0到6 5 package main 6 7 import "fmt" 8 9 const ( 10 Sunday = iota //重点 11 Monday 12 Tuesday 13 Wednesd
阅读全文
摘要:数据类型表示 整型 int 浮点型 float64 字符串 string 布尔值 bool 整型 int //uint8 也是byte,byte类型就是uint8 //int32 也是rune,rune类型就是int32,int32可以表示全人类的字符,为所有字符设置一个唯一编号. 字符型取数范围无
阅读全文