
程序设计
oscube
这个作者很懒,什么都没留下…
展开
-
rust-lang-study
语法和语义变量绑定变量绑定默认是不可变的let可以使用模式let (x, y) = (1, 2);类型推断let x: i32 = 5;变量使用之前必须初始化变量作用域仅在一个被{}包围的语句块中变量可以被隐藏。这意味着一个后声明的并位于同一作用域的相同名字的变量绑定将会覆盖前一个变量绑定函数函数参数需要声明类型Rust 函数只能返回一个值,并且你需要在一个“箭头”后面声明类型,它是一个破折号(-)后跟一个大于号(>)表达式结尾不加分..原创 2020-06-14 09:50:15 · 590 阅读 · 0 评论 -
rust primer 要点总结
类型,运算符和字符串原生类型charRust中我们要用’来表示一个char,如果用"的话你得到的实际上是一个&'static str。sliceSlice从直观上讲,是对一个Array的切片,通过Slice,你能获取到一个Array的部分或者全部的访问权限。和Array不同,Slice是可以动态的,但是呢,其范围是不能超过Array的大小,这点和Golang是不一样的。let arr = [1, 2, 3, 4, 5, 6];let slice_complete = &arr[原创 2020-06-13 21:47:02 · 1607 阅读 · 0 评论 -
go语言编程 要点总结(八)开发工具
选择开发工具支持语法高亮 支持unicode 支持工程构建 直接执行构建结果 单元测试 支持执行性能测试 支持代码调试,断掉和逐行调试 支持文档提取和展示 集成语言文档 开源或者免费 最好能够支持代码自动完成geditlinux geditvim按照$ROOT/misc/vim中说明进行配置vim可以配置gocode支持输入提示功能go get -u githup.com/nsf/gocode通过CTRL+X+O可以补全代码eclipsenotepa原创 2020-06-14 09:48:57 · 137 阅读 · 0 评论 -
go语言编程 要点总结(七)工程管理
go命令行工具go help代码格式化代码质量分析与修复单元测试与性能分析工程构建代码文档的提取和展示依赖包管理执行其他的包含命令,比如6g等代码风格代码必须是本着写给人阅读的原则来编写,只不过顺便给机器执行而已go语言将代码分割强制统一,风格不符,编译器会认为是编译错误命名涉及变量、常量、全局函数、结构、接口、方法等命名。任何需要对外暴露的名字必须以大写字母开头,否则以小写字母开头go语言使用骆驼命名法,不使用下划线排列左花括号的位置不能另起原创 2020-06-14 09:48:09 · 143 阅读 · 0 评论 -
go语言编程 要点总结(六)安全编程
数据加密单秘钥加密,整个系统由需要加密的明文,加密算法和秘钥工程。常见的有DES、AES、RC4等双秘钥加密,整个系统由需要加密的铭文,加密算法,秘钥和公钥。公钥和秘钥都可以用来加密。常见的有RSA等不可解密,哈希算法,MD5和SHA-1等数字签名指用于标记数字文件拥有者、创造者、分发者身份的字符串。拥有标记文件身份、分发的不可抵赖性等作用,目前常用的数字签名采用了非对称加密。数字证书银行U盾初始化的过程就是下载数字证书,数字证书包含银行公钥。有了公钥之后,网银就可可以用公钥原创 2020-06-13 21:11:00 · 1374 阅读 · 0 评论 -
go语言编程 要点总结(五)网络编程
go语言标准库net包,支持基于IP层、TCP/UDP层及更高层面(HTTP、FTP、SMTP)的网络操作,基于IP层的称为Raw SocketSocket编程传统语言的方式:建立Socket 绑定Socket 监听 接受连接 接收Dial()函数func Dial(net, addr string)(Conn, error)例子:conn, err := net.Dial("tcp", "192.168.0.10:2100")目前Dial函数支持如下协议:“tcp”、原创 2020-06-13 21:10:14 · 1454 阅读 · 0 评论 -
go语言编程 要点总结(四)并发编程
并发基础每个进程只有一个执行上下文,一个调用栈一个堆,操作系统在调度进程时,会保存被调度进程的上下文环境,等待该进程获得时间片后,再恢复进程上下文。并发价值并发能更客观的表现问题模型 (图形界面与后台处理)并发能充分利用CPU核心的优势,提高程序的执行效率并发能充分利用CPU与其他硬件设备固有的异步性(中断触发)实现并发的方式多进程,操作系统层面的并发,开销最大的方式。好处是简单,进程间互不影响,坏处是开销大,所有进程都是由内核管理的多线程,在大部分操作系统上都属于系统层面的原创 2020-06-13 21:09:27 · 1789 阅读 · 0 评论 -
go语言编程 要点总结(三)面向对象编程
类型系统可以给任意类型(包括内置类型,但不包括指针类型)添加相应的方法type Integer intfunc (a Integer) Less(b Integer) boo {}只有在需要修改对象的时候,才必须用指针func (a *Integer) Add(b Integer) {*a += b}go语言中类型都是基于值传递的,要像修改变量内容,职能传递指针go语言中数组是值传递,要想修改内容,使用指针var a = [3]int{1, 2, 3}var原创 2020-06-13 21:06:47 · 1356 阅读 · 2 评论 -
go语言编程 要点总结(二)面向过程编程
变量变量声明var 变量名 变量类型变量初始化var v1 int = 10var v2 = 10v3 := 10出现在冒号左侧的不应该是被声明过的变量,而且这种简短声明只能出现在函数中变量赋值可以采用多重赋值 i, j = x, y匿名变量函数返回多个值,如果值想获得其中的某些可以使用 __, __, nickname := GetName()常量字面常量硬编码的常量,不用像c语言一样在末尾加上L来区别是int还是long,go中字面常量是无类型的,原创 2020-06-13 21:05:24 · 1462 阅读 · 0 评论 -
go语言编程 要点总结(一)简介
简介特性:自动垃圾回收 gc 更丰富的内置类型 字符串 字典,切片 函数多返回值 避免构建一个新的数据结构获取返回值 错误处理 defer panic recover 匿名函数和闭包 函数也是值类型 类型和接口 鸭式辩行,只要实现了接口中所有方法的类型,可以当作是接口类型直接赋值,而不需要继承 并发编程 goroutine,通过消息传递而不是通过共享内存通信,go关键字启动一个协程,一个协程阻塞时,调度器会调用其他的协程执行,调度的开销非常小,go实现了CSP 通信顺序进...原创 2020-06-13 21:04:13 · 1687 阅读 · 0 评论 -
C陷阱与缺陷 要点总结
词法词法分析中的贪心法:每一个符号应该包含尽可能多的字符,也就是说编译器把程序分解为符号的方法是,从左到右一个字符一个字符的读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分,如果可能重复上述判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号,这个策略被称为“贪心法”y/*x 实际想表达的是y/(*x) 但是/*会被理解为一段注释的开始,这样的准二义性问题会招致麻烦。习题:a+++++b...原创 2020-06-13 21:01:29 · 652 阅读 · 0 评论 -
go web编程 要点总结
web服务器的工作原理客户端通过TCP/IP协议建立到服务器的TCP的连接 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档 服务器向客户端发送HTTP协议应答包,如果请求的资源包含动态语言的内容,那么服务器会调用动态语言解释引擎负责处理动态内容,并将处理得到的数据返回给客户端 客户端与服务器断开。由客户端解释HTML文档,渲染图形结果URL和DNS解析URL(Uniform Resource Locator)统一资源定位符的英文缩写,基本格式如下:scheme://ho原创 2020-06-13 20:58:27 · 196 阅读 · 0 评论 -
高质量C++开发实践(effective C++)
条款01 C++分为四个次语言,C,Object-oriented C++,Template ++,STL对于内置类型pass-by-value 比pass-by-reference高效,用户自定义类型pass-by-reference-to-const更好STL中迭代器和函数对象都是在C指针的基础上塑造出来的,所以旧式的C pass-by-value再次试用条款02 对于单纯常量...原创 2018-07-04 00:49:41 · 3371 阅读 · 0 评论