记录学习时遇见的一些杂七杂八的知识
类型别名
type IntSlice []int //将[]int以别名命名为IntSlice
sort包的一些简单用法
对 []int 从小到大排序:
package main
import (
"fmt"
"sort"
)
type IntSlice []int
func (s IntSlice) Len() int { return len(s) }
func (s IntSlice) Swap(i, j int){ s[i], s[j] = s[j], s[i] }
func (s IntSlice) Less(i, j int) bool { return s[i] < s[j] }
func main() {
a := []int{4,3,2,1,5,9,8,7,6}
sort.Sort(IntSlice(a))
fmt.Println("After sorted: ", a)
}
sort.Ints
和 sort.Strings
可以直接对 []int
和 []string
进行排序
a := []int{3, 5, 4, -1, 9, 11, -14}
sort.Ints(a)
ss := []string{"surface", "ipad", "mac pro", "mac air", "think pad", "idea pad"}
sort.Strings(ss)
切片的追加,删除,插入操作
func main(){
var ss []string;
//切片尾部追加元素append elemnt
for i:=0;i<10;i++{
ss=append(ss,fmt.Sprintf("s%d",i));
}
//删除切片元素remove element at index
index:=5;
ss=append(ss[:index],ss[index+1:]...)
//在切片中间插入元素insert element at index;
//注意:保存后部剩余元素,必须新建一个临时切片
rear:=append([]string{},ss[index:]...)
ss=append(ss[0:index],"inserted")
ss=append(ss,rear...)
}
md5加密
str:="123"
md5str:=md5.Sum([]byte(str))
password:=fmt.Sprintf("%x",md5str)//将将[]byte转成16进制