- 博客(28)
- 收藏
- 关注
原创 go标准库2-ioutil、fmt、bufio
ioutilioutil 提供了封装过的对文件和目录的简单 io 操作看一个遍历目录的操作func allDir(path string) { fileInfos, err := ioutil.ReadDir(path) if err != nil{ fmt.Println(err) return } for _,f := range fileInfos{ if !...
2018-12-01 09:11:02 524
原创 go标准库1-io
go中的IO操作主要由io、io/ioutil、fmt、bufio实现,他们各有自己的特点io 为 IO原语提供基本的接口,他的方法都是异步io,并不保证所有的方法都是并发安全的io/ioutil 主要提供了对文件操作的辅助io和一些常用、方便的IO操作函数bufio 基本的io原语函数调用都需要传入一个缓冲字节,bufio 提供了一个默认的缓冲字节长度,并实现了 io 中常用的接口,可以...
2018-12-01 09:10:16 328
原创 py学习笔记4-类
类 class person: # 在__init__外声明的属性是静态属性,类和实例都可以访问 jio = 'person' # _init_ 是初始化函数,创建 person 时会自动调用 # self 是每个方法的第一个参数,等同于 this,会自动传入 # 所有的属性需要在 _init_ 中设置,如果只是声明而没有初始化的属性则不能访问 def __init_...
2018-11-18 09:09:33 234
原创 py学习笔记3-模块
模块每个 py 文件都是一个模块,多个模块可以放在一个目录下,如 a.pu、b.py 放在 dir 下,则路径为 dir.a、dir.b包目录下必须有一个 init.py 文件,否则 py 会把这个目录视为一个普通的目录init.py 可以是一个空文件,也可以写代码,通过包名引用 import dir #!/usr/bin/env python3 # -*- coding: utf-8 ...
2018-11-18 09:09:09 215
原创 py学习笔记2-函数
函数语法 def power(x): return x*x # enroll('Bob', 'M', 7) # enroll('Adam', 'M', city='Tianjin') def enroll(name, gender, age=6, city='Beijing'): print('name:', name) ...
2018-11-18 09:08:29 467
原创 py学习笔记1-数据类型
数据类型基本类型整形赋值为啥种类型就是啥类型,py 中整形没有大小限制,浮点型超出限制就是 inf(无限大)无论是两个整形还是浮点型,使用 / 都得到浮点型结果// 等同于 %,但整形使用 // 得到整形结果,浮点型使用 // 得到整数的浮点型结果boolTrue 或 False布尔值可以使用 and or not 运算字符串使用 “” 或 ‘’ 创建字符串使用 +...
2018-11-06 22:43:42 173
原创 GO学习笔记-10 工具
godocgodoc 命令用于查看文档,他有多个参数,常用的是 godoc -http :8080 访问 8080 端口就可以看到所有文档,不仅能看到标准库的文档,还有个 GOPATH src 下程序的文档为代码添加文档为代码添写注释文档,只需要使用 //注释,就会在 godoc 中显示出来,在包名上添加 //包作用简介,注意:它只会整理可导出变量的文档,// 后使用制表符,会为文档添加代码...
2018-10-02 09:16:20 113
原创 GO学习笔记-9 测试
go testtest 命令提供了自动化测试的功能go test 执行当前包下的测试文件 xxx_test.gogo test -v 执行测试文件并打印执行过程中的详细信息我们为 name.go 写的测试文件一般命名为 name_test.go,但 go test 并不关心 name,只关心 _test.go 后缀,当前包下以该后缀结尾的 所有 文件都会被执行在 _test.go 文件...
2018-10-02 09:15:46 158
原创 GO学习笔记-7 并发安全
前面已经学了 channel 和 sync,现在我们学习如何使用它们解决并发安全问题以通信共享内存看下面的例子 type bank struct { balance int } func (this *bank) Deposit(amount int) { this.balance += amount //b := t...
2018-09-27 11:21:40 187
原创 计算机系统漫游(一)、信息的表示和处理
信息存储电路只有开关,分别以通电与不通电表示开关,由于这种特性,使得计算机能很简单的表示二进制,所以现在计算机及相关存储介质都是用二进制存储数据。一切的信息都会被翻译为二进制在计算机中存储并运算,简单的说,计算机就是一个存储器加计算器,先存储程序再交由运算器计算得出结果一个二进制被称为一 位 , 一字节等于八位 ,单个的位并不具有太大意义,当足够多的位则能表示足够多的可能性,就具有了意义。...
2018-08-19 12:12:11 198
原创 GO学习笔记-6 goroutine 和 通道
从前面方法里了解了 go 的封装和继承,那么多态呢,从接口的定义中实现多态接口go 的接口时隐式实现的,即不需声明结构继承了某个接口,只要提供接口所必需的方法,这样就无需改变类型的实现就可以为这些类型创建新的接口 type Person interface { Eat(s []string) int } type Student int...
2018-07-12 21:08:23 218
原创 读书与笔记
对程序猿来说,读书是必不可少的,但是如何选择正确的书,如何高效的阅读书,这就有点麻烦了,毕竟计算机类的书大多又厚又难如何选择合适的书确定需求正如写代码之前一定一定一定要确定需求一样,在选择或者决定读一本书之前,要先确定自己的需求!确定需求就是要问自己: 1. 为什么要读这类的书,注意,是这类(或者说相关的)书,是因为想提升自己,还是想了解更多原理,还是在做项目时碰到了有关...
2018-07-03 19:33:10 146
原创 数据库设计规范及mysql使用原则
数据库设计规范基本规范命名规范:所有命名(库,表,字段)都使用小写字母加 _ 组合,user_name, user_age表规范: 有相同关系的表可以使用相同的表前缀:’user_’每个表都要有自增主键,如果有其他唯一标识可以再加 primary 约束,都要有 ‘add_time’(默认系统时间)表与表的关联字段名要求尽可能相同用尽可能少的存储空间来存一个字段的数据,但要求...
2018-07-03 19:32:04 370
原创 JSON与ajax
JSONJSON可存储值类型简单值:数值,字符串,null和布尔值,注意不支持undefined,而且字符串要用双引号对象:注意对象的属性定义也要加双引号 { “var” : “value” } 数组:[“a”,”b”,5,null,true]js使用JSONES5中定义了全局对象JSON,用于JSON操作 - JSON.stringify():把js对象转化为J...
2018-07-03 19:31:22 601
原创 java8 java9
java8增强了基本包装类的功能自己查API文档增强了接口的功能在接口中定义默认方法该方法必须用 default 修饰,且不能用static修饰,可以定义方法体在接口中定义静态类方法使用 static 修饰,可以定义静态类方法注意:接口里的成员变量默认使用 public static final 修饰匿名内部类当一个接口中只定义了一些方法...
2018-07-03 19:30:38 1713
原创 GO学习笔记-5 接口
严格来说,go 是结构化语言,就像高乐积木一样,但是也可以作为 oop 语言使用方法 type F func(int) int func (f *F) hello() { fmt.Println("hello") } type S struct { name string //getName fun...
2018-07-03 19:28:55 231
原创 GO学习笔记-4 函数与oop
函数声明 //可变参数 func ex1(i int, j ...int) { for index, _ := range j { j[index] *= i } } j := []int{1, 2, 3, 4, 5, 6, 7} // slice 解析调用 ex1(2, j...)...
2018-07-03 19:28:18 174
原创 GO学习笔记-3 复合数据类型
复合数据类型数组 var a [3]int //[3]int 是一个数组类型,即使是同一type,但不同长度的数组,类型也不相同 for _, v := range a { fmt.Println(v) // 0 0 0 数字会使用类型的默认值初始化 } var b [3]int = [3]int{1, 2, 3} // 声明时初始化,...
2018-07-03 19:27:44 196
原创 GO学习笔记-2 程序结构
基本类型整数int8=byte、int16、int32=rune、int64、uint8、uint16、uint32、uint64 内置整数类型,是有点丑,但是的确很直观int,根据所在硬件平台,编译为 32 或 64 位uintptr,其大小并不明确,但足以存下指针,仅用于底层编程浮点数float32、float64、math.MaxFloat32=3.4028...
2018-06-22 10:26:11 155
原创 GO学习笔记-1 基本数据类型
变量作用域函数内声明 : 函数作用域内有效函数外声明: 首字母小写:包内可访问首字母大写:全局可访问函数也视作变量{} 内的定义都存在作用域访问权限具有很重要的意义,在 java 中他们使用一组关键字修饰,go 使用了约定使得语法更简洁,但是有时大小写也会为我们添加一些额外的麻烦声明包中的变量,有以下两种声明方式 - var name1,name2 typ...
2018-06-22 10:24:27 240
原创 浏览器渲染机制与性能优化
详读了很多文章,最终对比总结出来的浏览器渲染机制,并提出相应的优化原则浏览器如何渲染网页浏览器将从服务器中获取的HTML文档逐步解析,构建DOM树在构建DOM树时,如果碰到JS和CSS,会加载执行并阻塞HTML的解析,即HTML解析器会将控制权交给JS或CSS解析器,当这个元素被解析完之后,将控制权重交回给HTML解析器,直到整个DOM树构建完成css样式被载入和解析后,会构成重叠样式表CSS
2018-03-06 14:41:26 190
原创 js基础系列之语言糟粕(二)
继语言糟粕一,继续讲一讲js要避免的糟粕假值 js中的假值就像保留字一样,多的令人无语,0,NaN,”,false,null,undefined,跟恐怖的是js中对声明而未赋值的变量,或者不存在的属性给定的默认值为undefined(null:”你置老子于何地”),如果你更骚的用了==来进行判定console.log(null == undefined); //true 执手相看代码,竟无语凝
2018-03-06 14:40:16 209
原创 js基础系列之语言糟粕(一)
历史遗留问题,总能成为语言的累赘 ——全局变量 js没有链接器,所有的编译单元都载入一个公共全局对象中,而在任何一个单元中,以下这三种方式都会定义全局变量在函数外声明变量 var i;直接给全局对象添加属性 window.i=1;在函数外,未声明直接使用变量 i=1; 每个单独的js文件最终被载入到一个js文件中,如果每个单独的js文件中使用了大量的全局变量,很容易造成变
2018-03-06 14:39:21 350
原创 js基础系列之原型链与继承
原型链并不难 原型链 在理解原型链之前,首先要明白,当一个函数被创建时,Function构造器产生的函数对象会运行类似这样的一些代码this.prototype={ constructor:this } 即,创建的函数会有一个prototype(原型对象)属性,这个原型对象也有个属性是”constructor===函数名”,而每个被构造函数创实例,都有一个proto,来连接到创建他
2018-03-06 14:38:41 132
原创 js基础系列之作用域与闭包
闭包是js中最简单实用而又强大的功能 作用域与闭包js中的作用域 在诸如C语言这样严格的语言,{}内常常有自己的作用域,譬如#include<stdio.h>int main(){ for(int i=0;i<10;i++){ print("%d",i); }} 在这里,for的()和{}都是个块级作用域,但是,在ES5和ES5之前,除了函数不存在块
2018-03-06 14:37:54 137
原创 js基础系列之函数调用与this
谁用了this,this就指向谁 函数调用与this的指向 在讲this的指向之前,首先要了解函数的几种调用模式fun();obj.method();fun.call(); / fun.apply(); /fun.bind(); 抽象上来看,函数无非就这三种调用模式(new暂且不说),而前两种都是最后一种的语法糖(语法糖就是复杂语法的简便写法),即,任何函数调用的实质都是第三种调用(第
2018-03-06 14:36:00 197
原创 js基础系列之初识函数
JavaScript设计得最出色的就是它的函数的实现。它几乎接近于完美 ——《js语言精粹》 本文并不是对js函数各个特性进行详解,事实上,一篇文章是根本写不完的,这里只是对函数进行粗略的介绍,让刚接触js函数的人对其有所了解 函数对象 js中的函数就是对象。 注意了,对象这个概念很重要,我要重点说明一下。 在js中,对象指的不是
2017-11-02 16:14:13 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人