摘要: 1、defer执行时机 go //defer初始化值和位置有关 推迟执行的仅仅是函数体 func f3(j int) (i int) { defer func(a int) { i += a log.Println(" ",j) //退出阶段j=100 进入阶段j=10 a=10 }(j) j =1 阅读全文
posted @ 2020-03-13 19:03 jkjkjkjkjkjk 阅读(426) 评论(0) 推荐(0)
摘要: 生成器 延迟操作,在需要的时候,调用它,才产生一个元素,节约空间资源,不立即产生全部结果 比如 yield 看一个 斐波那契数列 的例子 py 自定义迭代器 class WordsIteror: def __init__(self,string): self.words = [ w.capitali 阅读全文
posted @ 2020-03-13 09:46 jkjkjkjkjkjk 阅读(228) 评论(0) 推荐(0)
摘要: 1、文件操作 打开文件: Open()系统调用 读写文件: 文件指针 删除文件 :同时删除目录项的文件记录条目 2、管理打开文件 1、系统打开文件表 每个open都会返回一个打开文件表的指针( 文件描述符,打开文件表的索引 )、所有文件操作都围绕这个指针,打开一个文件 ,则搜索目录,将文件信息cop 阅读全文
posted @ 2020-03-12 10:23 jkjkjkjkjkjk 阅读(626) 评论(0) 推荐(0)
摘要: 磁盘结构: 磁盘也和内存一样分块,并且块大小和内存块大小相同,方便数据交换。 一、文件物理结构 1、连续分配 文件连续分配在磁盘的块上,查找效率最高,磁头移动最快,但是产生碎片最多,不容易扩展。 下面用Python实现以下 连续分配 的逻辑 2、链接分配 (1) 显式链接(支持随机访问) 文件目录表 阅读全文
posted @ 2020-03-12 10:17 jkjkjkjkjkjk 阅读(623) 评论(0) 推荐(0)
摘要: 1、结构体方法 go不是纯粹的面向对象的,在go里面函数是一等公民,但是go也有结构体实现类似java一样类的功能来提供抽象。结构体的方法分为 值方法 和 指针方法 ,前者在方法中做的改变不会改变调用的实例对象,后者则会改变,同样不管是值类型还是指针类型都是可以被调用的,因为go结构体底层会自动转化 阅读全文
posted @ 2020-03-12 10:09 jkjkjkjkjkjk 阅读(1505) 评论(0) 推荐(0)
摘要: 切片与数组 go的数组是这样的 go的切片 len和cap的区别 make切片有两个参数 len 和 cap len :代表底层数组可访问的范围 用索引访问不可越过这个界限 cap :代表底层数组的长度,如果 append 元素时没有超过这个cap,则不再创建底层数组,否则开辟新的空间,同时增大ca 阅读全文
posted @ 2020-03-07 20:06 jkjkjkjkjkjk 阅读(423) 评论(0) 推荐(0)