引言 最近自己在学习go项目的时候,查看别人的源码经常发现defer的使用,加上自己之前对这个关键字没怎么在意,只知道差不多是用来释放内部变量的。 查看资料可以发现,defer会在当前函数或者方法返回之前执行传入的函数,经常用于关闭文件描述符、关闭数据库连接以及解锁资源。 为了能够更形象地理解def ...
分类:
其他好文 时间:
2020-07-12 18:26:31
阅读次数:
71
go-snowflake 在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串,所以它无法被排序。 ...
分类:
其他好文 时间:
2020-07-11 11:17:30
阅读次数:
138
package main import ( "crypto/md5" "fmt" "io" ) func main() { // 第一种 var str = "golang" slice := []byte(str) res := md5.Sum(slice) fmt.Println(res) // ...
分类:
其他好文 时间:
2020-07-11 09:58:03
阅读次数:
83
main #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSDictionary* dic =[NSDictionary dictionaryWithObj ...
分类:
其他好文 时间:
2020-07-10 00:02:17
阅读次数:
72
今天我们来继续学习,Go 中的面向对象编程思想,包括 方法 和 接口 两大部分学习内容。
通过学习本文,你将了解:
- Go 的方法定义
- 方法和函数的区别
- 方法传值和传指针差异
- 什么是接口类型
- 如何判断接口底层值类型
- 什么是空接口
- nil 接口 和nil 底层值 ...
分类:
编程语言 时间:
2020-07-06 00:56:53
阅读次数:
74
procedure TMainForm.ConnectRDPByIndex(index: Integer); var ServerItem: PServerItem; tmpRpdFile, cmd: string; listview: TListView; begin listview := Ge ...
分类:
其他好文 时间:
2020-07-04 11:55:21
阅读次数:
70
指针Go语言中没有指针的运算,只需要记住两个符号:"*"和"&" var a *int //指针为nil*a = 100 //报错 var a = new(int) //通过new关键字申请一块内存,指针有值,指向的值为初始值*a = 100 //ok ...
分类:
其他好文 时间:
2020-07-01 18:38:42
阅读次数:
47
null和undefined的区别 在Js中null与undefined是两种基本数据类型,都可以用来表示"无"这个概念,但是在语义表达以及实际使用上是有所区别的。 描述 大多数计算机语言只有一个用来表示"无"这个概念的值,例如C与C++的NULL、Java与PHP的null、Python的None ...
分类:
其他好文 时间:
2020-07-01 11:07:42
阅读次数:
49
function selectdir: string; //如果取消取返回为空,否则返回选中的路径 var Info: TBrowseInfo; IDList: pItemIDList; Buffer: PChar; begin result := ''; Buffer := StrAlloc(MA ...
一.变量声明与赋值 var name type 比如 var sum int 每行结束可以不用分号 二.数组 三.指针 指针声明方式 var ptr *int ptr :指针名字 *int 表示指针的类型 空指针:nil 跟c语言中的NULL 是一样的 结构体指针 和结构体实例 访问结构体成的方式都 ...
分类:
编程语言 时间:
2020-06-29 15:41:41
阅读次数:
61