笔记
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang 接口相关知识
1.一个简单的实现 package main import ( "errors" "fmt" ) type IDatabase interface{ Connect() error // 接口不指定参数,返回error Disconnect() error } type Mysql struct{ DBname string isConnect bool } // 实现IDatabase接口 func (mysql *Mysql)Connect()error{ fmt.Println(原创 2022-04-08 17:18:25 · 457 阅读 · 0 评论 -
golang 并发、反射知识笔记
1. 性能降低,但是高效率的并发安全map import ( "sync" ) func main(){ var mymap sync.Map for i:=0;i<100;i++{ go writeM(mymap,i,i+1) go readM(mymap,i) } } func readM(mymap sync.Map,key,int)int{ if v,ok :=mymap.Load(key);ok{ // 用Load来获取 return v.(int) // 获取的v是原创 2022-04-07 10:30:05 · 320 阅读 · 0 评论 -
Golang 中sort排序不改变相同值相对顺序
今天在用golang自带的sort()排序时遇到的不稳定情况 如果使用Sort或者Slice进行排序,若有相同的值,有可能改变它们的相对顺序 // 相关API,前两个都会改变相对顺序,最后一个不会 sort.Sort(data interface) // 需要实现Len(),Swap(),Less()函数 sort.Slice([]struct ,func(i,j int)bool{ return s[i].age < s[j].age }) sort.SliceStable([]struct ,fu原创 2022-03-11 14:43:48 · 2032 阅读 · 0 评论 -
Golang实现基本查找算法
package main import ( “bufio” “fmt” “os” “strconv” “strings” ) func binarySearch(data []int, key int) int { // 二分查找 left := 0 right := len(data) - 1 for { if left > right { // 小于等于 break } mid := (right-left)/2 + left // 等价于 (a+b)/2,防止a+b过大 if data[mid]原创 2022-03-14 14:28:43 · 252 阅读 · 0 评论 -
Golang实现基本排序算法
手写相关排序算法 (待更新) package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func simpleSort(data *[]int) { // O(n^2) ,每次从子列表找出最小的位置和当前位置交换 for i := 0; i < len(*data); i++ { minIndex := i for j := i; j < len(*data); j++ { // 从当...原创 2022-03-14 11:04:09 · 451 阅读 · 0 评论 -
conda和docker的一些记录
0.复盘 最近在接触docker的过程中,发现conda的使用不可避免,在docker用到镜像开启新的容器中势必要再配一遍anaconda,而我每次都要搜索一大堆配置指令,在搜索过程中就耗费了大量时间,这次必须做一次完整的总结。 1.conda的linux安装 1.1 配置环境 在root权限下:(否则加root) yum install -y vim (这是linux安装工具的命令) vim ~/.bashrc 然后加入下面的语句(将conda的安装环境加入路径) export PATH=/home/xx原创 2021-11-17 20:57:50 · 2169 阅读 · 0 评论 -
2021-06-20
先定一个目标,每天思考产品和产业互联网,积累技术和知识。原创 2021-06-20 00:01:42 · 165 阅读 · 1 评论
分享