2020年2月5日
函数定义 使用fn关键字定义函数; 函数名使用snake_case规范命名; 函数可以定义在main函数之前或之后,Rust 不关心函数定义于何处; 1 2 3 fn test_function(a: i32,b: bool)-> u32 {//... } 函数参数 函数可以定义多个参数,使用逗号,……
阅读全文
2020年2月5日
前言 Rust是静态类型语言,在编译时就必须知道所有变量的类型。 两种方式确定类型: 根据值及使用方式,编译器通常可以推断出我们想要用的类型; 当多种类型均有可能时,必须增加类型注解; 如下代码,不加类型编译会……
阅读全文
2020年2月4日
变量声明 语法格式: 1 2 let变量名: 变量类型=变量值;letvar: i32 =123; 有几点要注意: 以关键字let开头,类型一定跟在冒号:后面; 变量必须先声明,初始化后才能使用; 初始化 Rust中,每个变量必须被合理……
阅读全文
2020年2月4日
标识符 Rust 中的名称被称为 “标识符”(“identifier”),它们可以是任意非空的 ASCII 字符串,不过有如下限制: 要么是: 第一个字符是字母。 其它字符是字母数字或者 _。 或者是: 第一个字符是 _。 标识符需多于一个……
阅读全文
2020年2月4日
Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety. Rust是一门系统级编程语言,具有三个特点: 运行快 防止段错误 保证线程安全 C和C++是业界最流行的系统编程语言,Rust的定位与之类似,但是增加了安全性。 版本和发布策略 语……
阅读全文
2020年2月4日
今天正式开始学Rust。 安装 学习一门新语言,第一件事当然是先安装。官方推荐使用rustup工具来管理安装,并提供一键安装命令,只需要在终端执行以下命令即可: 1 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 其实就是,先下载安装rus……
阅读全文
2019年9月28日
遇到的问题 最近在阅读echo框架的源码,发现context.go文件在读取请求的scheme时是单独封装了个方法。就很奇怪,go语言标准库不是自带了方法吗,干嘛不用? 于是写了段代码来验证: 1 2 3 4 5 6……
阅读全文
2019年9月5日
工作中,我们会经常用到Go自带的json标准库,使用也很简单,具体用法这里不多说。 有的时候上游传过来的字段是string类型的,但是我们却想用变成int来使用。 本来用一个json:",str……
阅读全文
2019年7月31日
为了实现Golang业务的平滑重载,研究了一下github上比较成熟的解决方案,找到如下三个库: grace endless overseer 大致看了一下源码,grace和endless是比较像的,实现步骤如下: 监听信号 收到信号时fork子……
阅读全文
2019年7月12日
什么是go:linkname 这里引用Go官方文档的解释: //go:linkname localname importpath.name The //go:linkname directive instructs the compiler to use “importpath.name” as the object file symbol name for the variable or function declared as “localname” in the source code. Because this directive can subvert the type system and package modularity, it is only enabled in……
阅读全文