首页
登录
搜索
登录
搜索
emer
累计撰写
197
篇文章
累计收到
496
条评论
首页
栏目
首页
登录
自定义幻灯片
最新文章
2019-5-26
[整理]golang文件操作
package main import( "fmt" "os" "io" ) func main () { fp,err := os.OpenFile("1.php",os.O_RDWR,6); if err != nil { fmt.Println(err); } var a []byte; var b = make([]byte,10); for { n,err := fp.Read(b); if err == io.EOF{ break; } a = append(a,b[:n]...); } fmt.Println(string(a)); }
2019年-5月-26日
76 阅读
0 评论
未分类
2019-5-26
[整理]golang字符串处理函数
import( "strings" ) contains(str1,str2) bool; 查找字符串,是否能找到指定str2字符串; index(str1,str2) int; 查找指定位置的字符串; repeat(str,int) string; 重复字符串; replace(str,old,new,int) 替换str中的old为new 替换N次,-1为全部替换; split(str,","); 分割字符串; join([]string,",");链接字符串 trim(str," ");去掉str两端的空格; fields(str);去除字符串所有空格; import( "strconv" ) formatBool(bool);将布尔值转换为字符串; formatInt(int,进制);将整数转换为字符串最高36进制 formatFloat(float,f,保留小数点位数);将浮点型转换诶字符串 Itoa(int);将整数转换为字符串; parseInt(str,10,64);将字符串转换为整数 appendInt(slice,10,base);追加到切片
2019年-5月-26日
58 阅读
0 评论
未分类
2019-5-15
Golang new和 make的区别
Go提供了两种分配原语,即new和make。它们所做的事情是不一样的,所应用的类型也不同。 new用来分配内存,但与其他语言中的同名函数不同,它不会初始化内存,只会讲内存置零;也就是说,new(T)会为类型为T的新项分配已置零的内存空间,并返回他的地址,也就是一个类型为*T的值。用Go的术语来说,它返回一个指针,改指针指向新分配的,类型为T的零值; make的目的不同于new,它只用于slice,map,channel的创建,并返回类型为T(非指针)的已初始化(非零值)的值;出现这种差异的原因在于,这三种类型本质上为引用类型,它们在使用前必须初始化; 小结: new和make都在堆上分配内存,但是它们的行为不同,适用于不同的类型。 new(T) 为每个新的类型T分配一片内存,初始化为 0 并且返回类型为*T的内存地址:这种方法 返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和结构体;它相当于 &T{}。 make(T) 返回一个类型为 T 的初始值,它只适用于3种内建的引用类型:slice、map 和 channel。 换言之,new 函数分配内存,make 函数初始化;下图给出了区别: 通过实验,可以更直观的查看两者之间的区别
2019年-5月-15日
85 阅读
0 评论
未分类
2019-5-14
Go范围实例
这里使用范围来对切片中的数字求和。数组也是可以这样使用的。 数组和切片上的范围提供每个条目的索引和值。上面不需要索引,所以忽略它与空白标识符_。 有时候实际上想要索引。 范围在映射上迭代键/值对。 范围也可以遍历映射中的键。 字符串上的范围在Unicode代码点上迭代。第一个值是符文的起始字节索引,第二个是符文本身。 range.go的完整代码如下所示 F:\worksp\golang>go run range.go sum: 9 index: 1 a -> apple b -> banana key: a key: b 0 103 1 111
2019年-5月-14日
62 阅读
0 评论
未分类
2019-5-9
Golang 学习笔记
静态 强类型 编译型语言 GO语言适用场景及GO语言的优势 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说: 我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 Go是谷歌2009发布的第二款编程语言。该奖项授予在2009年市场份额增长最多的编程语言。 谷歌资深软件工程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。
2019年-5月-9日
56 阅读
0 评论
未分类
2019-4-5
理解PHP依赖注入容器
本文是PHP依赖注入容器的实现这个系列的第一章。 今天,先不谈容器(container),首先用一些具体的例子来介绍依赖注入的概念,证明依赖注入这种模式可以解决哪些问题,同时能给开发人员带来哪些好处。 如果你已经知道了依赖注入的概念,你可以跳过这篇文章。
2019年-4月-5日
83 阅读
0 评论
未分类
2019-4-3
利用PHP开发微信公众平台自定义菜单
最近要做一个微信公众账号,花了点时间已经将一部分功能完成,其中就包括自定义菜单的实现,现在就将一些代码分享给大家,觉得对自己有帮助就看看! 读这篇文章时,假设你已经成功的申请到了自定义菜单了权限,如果没有,推荐你去看看这篇博文 《自定义菜单的创建及菜单事件响应》接下来就是获取Token了,方法很简单,如下所说:
2019年-4月-3日
71 阅读
0 评论
未分类
2019-4-1
yii2过滤xss代码,防止sql注入教程
实际开发中,涉及到的语言也好,框架也罢,web安全问题总是不可避免要考虑在内的,潜意识中的考虑。 意思就是说喃,有一条河,河很深,在没办法游过去的情况下你只能沿着河上唯一的一座桥走过去。 好啦,我们看看在yii框架的不同版本中是怎么处理xss攻击,sql注入等问题的。 啥啥啥,xss是啥,sql注入又是啥?哦我的天呐,不好意思,我也不知道,这个您问问小度小哥都行,随您。 通俗的说喃,就是两个原则问题: 1、表单提交内容,想安全的存入数据库 2、想安全的对数据进行输出
2019年-4月-1日
79 阅读
0 评论
未分类
2019-3-31
PHP抽象类与接口的区别
抽象类: 定义为抽象的类不能被实例化.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。继承一个抽象类的时候,子类必须定义父类中的所有抽象方法;另外,这些方法的访问控制必须和父类中一样(或者更为宽松)。例如某个抽象方法被声明为受保护的,那么子类中实现的方法就应该声明为受保护的或者公有的,而不能定义为私有的。此外方法的调用方式必须匹配,即类型和所需参数数量必须一致。例如,子类定义了一个可选参数,而父类抽象方法的声明里没有,则两者的声明并无冲突。 这也适用于 PHP 5.4 起的构造函数。在 PHP 5.4 之前的构造函数声明可以不一样的.
2019年-3月-31日
80 阅读
0 评论
未分类
2019-3-31
Laravel 实用的辅助函数小技巧--helper
1.csrf token 表单 {{ csrf_token() }} 这样就可以直接获取 Laravel 自身维护的 csrf_token,比如通常是这样用的 <input name="_token" value="{{ csrf_token() }}" type="hidden" /> 更简便的方法 {!! csrf_field() !!} 这样就会直接在 html 输出类似下面的内容了 <input name="_token" value="5A0CQ8OHQylQFdM1UQ8pjJyMuN8YP5erC6VaiS89" type="hidden" /> 2.生成 method 表单 在使用 resource 路由的时候,有一些 method 浏览器原生不能支持的,比如 DELETE,PATCH PUT 等,这时候就可以使用一下代码来生成 method 表单,模拟这些请求: {{ method_field('DELETE') }} 生成的 html : <input type="hidden" name="_method" value="DELETE">
2019年-3月-31日
80 阅读
0 评论
未分类
12
13
14
15
16