- 博客(13)
- 资源 (7)
- 收藏
- 关注
原创 go 语言中奇怪的语法
1. 断言 r.(x)r.(map[string]interface{}) r.(x)断言,然后可以用一元或二元值接收。一个参数接受的话,出错会panic。两个参数接受的话,第二个是bool,断言不成功会赋值为false。常用type switch判断interface的实体类型2.map的 声明与遍历var m1 map[string]stringm1 = make(ma...
2018-11-07 16:53:28
1096
原创 GO 并发编程
1.goroutinegoroutine是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。在一个函数调用前加上go关键字,这次调用就会在一个新的goroutine中并发执行。当被调用的函数返回时,这个goroutine也自动结束了。需要注意的是,如果这个函数有返回值,那么这个返回值会被丢弃。并发执行实例package mainimport "fmt"func Add(x, y ...
2018-06-14 16:26:19
264
原创 用切片实现queue
queue是先进先出的数据结构,利用切片的强大功能,可以很轻松地实现先进先出的功能add(data element)直接在切片后面append()remove(data element)查找元素在切片的位置然后将前部分和后面append起来poll()直接做切片的切片peek()返回切片的第一个数代码:package queuetype element interface { equals(...
2018-06-13 10:03:36
262
原创 channel的用法
channel的声明创建有缓冲的管道c := make(chan string,100)创建无缓冲的管道c := make(chan string)往chan里写数据for _,v := range words { c <- v // 写入chan}close(c)从chan里读数据 for { t, ok := <-in if ok { t = st...
2018-06-13 09:56:29
25645
原创 安全计数器
知识点:根据key查找map中的valuevalue, ok := c.v[key]并发使用安全的结构体的声明// SafeCounter 的并发使用是安全的。type SafeCounter struct { v map[string]int mux sync.Mutex}package safecounterimport ( "sync")//...
2018-06-13 09:46:16
388
原创 最长公共子串
func changeValue(value1 []int){ for i:=0; i < len(value1); i++ { switch { case value1[i] == 101: value1[i] = 2 case value1[i] == 102: value1[i] = 15 case value1[i] == 103: value...
2018-06-13 09:41:54
145
原创 判断数字是否为回文
func isPalindrome(x int) bool { if x < 0 { return false } div := 1 for x /div >= 10 { div *=10 } for x != 0 { l := x / div r := x %10 if l != r { return false } x = (x %...
2018-06-12 11:35:42
894
原创 删除数组中的一个元素返回数组长度
func removeElement(nums []int, val int) int { var i int = 0 j := len(nums)-1 for i < j { if nums[i]==val { nums[i]=nums[j] j-- }else { i++ } } if i==j && nums[i] ==val{...
2018-06-12 11:34:41
706
原创 按字典序打印字符串的所有全排列
要用迭代,最后将结果保存时一定要用指针关键: string(str)s[i]>s[j] func permu(list *[]string,str []byte, i int ) { if str ==nil { return } if i ==len(str)-1 { *list = append(*list,string(str)) }else { for j :...
2018-06-12 11:27:05
1760
原创 接口
接口原理在 Golang 中,interface 是一种抽象类型,相对于抽象类型的是具体类型(concrete type):int,string。在 Golang 中,interface 是一组 method 的集合,是 duck-type programming 的一种体现。不关心属性(数据),只关心行为(方法)。具体使用中你可以自定义自己的 struct,并提供特定的 interface 里面...
2018-06-12 11:15:33
168
原创 go 语言将函数作为入参
go 语言可以直接将函数作为参数传入函数中定义需要传入的函数func minMaxComp(v1, v2 int)(r int) { if v1 == v2 { r = 1 return } if v1 > v2 { r = 2 return } r = 3 return}定义主函数func min2maxSort(array []int, ...
2018-06-12 09:24:41
1805
原创 Json处理
基础使用json.Marshal()函数可以对一组数据进行JSON格式的编码func Marshal(v interface{}) ([]byte, error)可以使用json.Unmarshal()函数将JSON格式的文本解码为Go里边预期的数据结构。json.Unmarshal()函数的原型如下:func Unmarshal(data []byte, v interface{}) error...
2018-05-04 15:26:55
216
原创 欢迎使用优快云-markdown编辑器
pca主成分分析数据提取降维方法本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:1、主成分分析的概念及基本思想2、主成分分析的数学模型及几何意义图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键1、主成分分析的概念及基本思想 主成分分析(Principle Compone
2016-07-07 20:06:20
357
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人