Go
oranglay
人无远虑,必有近忧
展开
-
golang数组去重
func RemoveRepeatedElement1(arr []string) (newArr []string) { newArr = make([]string, 0) for i := 0; i < len(arr); i++ { repeat := false for j := i + 1; j < len(arr); j++ { if arr[i] == arr[j] { repeat = true break } } if !rep原创 2020-05-13 15:17:40 · 1000 阅读 · 0 评论 -
golang make和map的区别
1.Go语言中new跟make是内置函数,主要用来创建分配类型内存。2.new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针;3.make(T, args)只能创建 slice、map和channel,并且返回一个有初始值args(非零)的T类型的实例,非指针。4.二者都是内存的分配(堆上),但是make只用于slice、map以及channel的初始化(非零值);而new用于类型的内存分配,并且内存置为零。所以在我们编写程序的时候,就可以根据自己的需要很好的选择了。make返回..原创 2020-05-11 13:56:55 · 3177 阅读 · 0 评论 -
golang new 和make 的区别
1.Go语言中new跟make是内置函数,主要用来创建分配类型内存。 2.new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针; 3.make(T, args)只能创建 slice、map和channel,并且返回一个有初始值args(非零)的T类型的实例,非指针。 4.二者都是内存的分配(堆上),但是make只用于slice、map以及channel的初始化(非零值);而new用于类型的内存分配,并且内存置为零。所以在我们编写程序的时候,就可以根据自己的需要很好的选择了。 mak.原创 2020-05-11 13:52:55 · 249 阅读 · 0 评论 -
阿里云第三方邮件发送
func IndexWarningTemplete(email ,reason ,subject string,) { m := gomail.NewMessage() m.SetAddressHeader("From", "xxxxxxxxxx@163.com", "xxxxxxxxxx@163.com") // 发件人 m.SetHeader("To", // 收件人 //m.F...原创 2020-05-07 11:22:28 · 698 阅读 · 0 评论 -
golang发送邮件
import ( "encoding/json" "fmt" "io/ioutil" "net/http" "net/smtp" "strconv" "strings")func main() { //TimeSettle() Message()}func getPm25() int{ client := &http.Client{} resp, er...原创 2020-05-06 11:59:12 · 449 阅读 · 0 评论 -
Go JWT RESTful身份认证教程
1.什么是JWTJWT(JSON Web Token)是一个非常轻巧的规范,这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息, 一个JWT由三部分组成,Header头部、Claims载荷、Signature签名, JWT原理类似我们加盖公章或手写签名的的过程,合同上写了很多条款, 不是随便一张纸随便写啥都可以的,必须要一些证明,比如签名, 比如盖章,JWT就是通过附加签名,保证传输...原创 2020-04-18 15:05:34 · 520 阅读 · 0 评论 -
判断两个map是否包含相同的key和value
我们必须通过一个循环实现:func equal(x, y map[string]int) bool { if len(x) != len(y) { return false } for k, xv := range x { if yv, ok := y[k]; !ok || yv != xv { return fal...原创 2020-04-17 09:47:54 · 5064 阅读 · 0 评论 -
Go语言特定的数组
指定一个索引和对应值列表的方式初始化type Currency intconst ( USD Currency = iota // 美元 EUR // 欧元 GBP // 英镑 RMB // 人民币)symbol := [...]string{USD: "$", ...原创 2020-04-17 07:48:44 · 133 阅读 · 0 评论 -
iota 常量生成器
常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每行都写一遍初始化表达式。在一个const声明语句中,在第一个声明的常量所在的行,iota将会被置为0,然后在每一个有常量声明的行加一。 下面是来自time包的例子,它首先定义了一个Weekday命名类型,然后为一周的每天定义了一个常量,从周日0开始。在其它编程语言中,这种类型一般被称为枚举类型。...原创 2020-04-17 07:42:50 · 112 阅读 · 0 评论 -
Go知识图谱
Go社区的知识图谱:https://www.processon.com/view/link/5a9ba4c8e4b0a9d22eb3bdf0原创 2020-04-29 10:32:26 · 83 阅读 · 0 评论