会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
张伯雨
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
2
3
4
5
6
7
···
37
下一页
2017年9月9日
内存安全
摘要: Rust推崇安全与速度至上,它没有垃圾回收机制,却成功实现了内存安全 (memory safety)。所有权在Rust中,所有权 (ownership) 系统是零成本抽象 (zero-cost abstraction) 的一个主要例子。 对所有权的分析是在编译阶段就完成的,并不带来任何运行时成本 (run-time cost)。 默认情况下,Rust是在栈 (stack) 上分配内存,对栈上空间变...
阅读全文
posted @ 2017-09-09 17:48 张伯雨
阅读(1388)
评论(0)
推荐(0)
编辑
程序测试
摘要: 程序测试测试属性在测试函数前加上#[test]属性:#[test] fn it_works() { assert!(false); }其中assert!宏接受一个参数,如果参数为false,它会导致panic!。 运行cargo test命令,可见该测试失败。如果要反转测试失败, 可以加上#[should_panic]属性:测试模块在测试模块前加上#[cfg(test)]属性:测试目录对于...
阅读全文
posted @ 2017-09-09 17:01 张伯雨
阅读(211)
评论(0)
推荐(0)
编辑
模块系统
摘要: 模块系统Rust有两个与模块 (module) 系统相关的独特术语:crate和module, 其中包装箱 (crate) 与其它语言中的 libary 或者 package 作用一样。 每个包装箱都有一个隐藏的根模块,在根模块下可以定义一个子模块树, 其路径采用::作为分隔符。包装箱由条目 (item) 构成,多个条目通过模块组织在一起。定义模块使用mod关键字定义我们的模块:// in src...
阅读全文
posted @ 2017-09-09 16:25 张伯雨
阅读(247)
评论(0)
推荐(0)
编辑
控制结构
摘要: IfIf是分支 (branch) 的一种特殊形式,也可以使用else和else if。 与C语言不同的是,逻辑条件不需要用小括号括起来,但是条件后面必须跟一个代码块。 Rust中的if是一个表达式 (expression),可以赋给一个变量:let x = 5; let y = if x == 5 { 10 } else { 15 };Rust是基于表达式的编程语言,有且仅有两种语句 (stat...
阅读全文
posted @ 2017-09-09 15:59 张伯雨
阅读(281)
评论(0)
推荐(0)
编辑
基本语法
摘要: 变量绑定在Rust中,变量绑定 (variable bindings) 是通过let关键字声明的:let x = 5; let mut x = 5; let x: i32 = 5; let (a, b) = (3, 4);其中变量类型如i32一般都是可以省略的,因为Rust使用了类型推断 (type inference)。 Rust还通过模式匹配 (pattern matching) 对变量进行解...
阅读全文
posted @ 2017-09-09 11:49 张伯雨
阅读(441)
评论(0)
推荐(0)
编辑
Go-技篇第一 技巧杂烩
摘要: Go-技篇第一 技巧杂烩一句话技巧把你面向对象的大脑扔到家里吧,去拥抱接口。@mikegehard学习如何使用Go的方式做事,不要把别的的编程风格强行用在Go里面。@DrNic多用接口总比少用好。@evanphx拥抱这种简洁、并行、工整的语言。@francesc阅读官网golang.org上所有的文档,真是棒呆了。@vbatts别忘了用gofmt。@darkhelmetlive多读源代码。@DrN...
阅读全文
posted @ 2017-09-09 11:46 张伯雨
阅读(359)
评论(0)
推荐(0)
编辑
Go-技篇第二 命名规范
摘要: 优秀的命名优秀的命名应当是一贯的、短小的、精确的。所谓一贯,就是说同一个意义在不同的环境下的命名应当一致,譬如依赖关系,不要在一个方法中命名为depend,另一个方法中命名为rely。所谓短小,不必多言,当命名过长的时候,读者可能更关注命名本身,而忽视真正的逻辑内容。所谓精确,就是命名达意、易于理解首条经验声明位置与使用位置越远,则命名应当越长。骆驼命名法Go语言应该使用 MixedCa...
阅读全文
posted @ 2017-09-09 11:37 张伯雨
阅读(257)
评论(0)
推荐(0)
编辑
2017年9月8日
微服务的4个设计原则和19个解决方案
摘要: 转载本文需注明出处:微信公众号EAWorld,违者必究。微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个“微服务应用平台”需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架构。微服务平台也是我目前正在参与的,还在研发过...
阅读全文
posted @ 2017-09-08 11:56 张伯雨
阅读(763)
评论(0)
推荐(0)
编辑
2017年9月1日
kcp-go源码解析
摘要: kcp-go源码解析对kcp-go的源码解析,有错误之处,请一定告之。sheepbao 2017.0612概念ARQ:自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层的错误纠正协议之一.RTO:Retransmission TimeOutFEC:Forward Error Correctionkcp简介kcp是一个基于udp实现快速、可靠、向前纠错的...
阅读全文
posted @ 2017-09-01 10:53 张伯雨
阅读(2420)
评论(1)
推荐(0)
编辑
windows.go
摘要: func LockFile(file *os.File) error { h, err := syscall.LoadLibrary("kernel32.dll") if err != nil { return err } defer syscall.FreeLibrary(h) addr, err := syscall.GetProcAd...
阅读全文
posted @ 2017-09-01 10:52 张伯雨
阅读(304)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
···
37
下一页