随笔分类 -  GO

go学习
摘要:C++支持多态,可以通过重载和模板实现多态,其中模板类这个功能我感觉很方便,比如想写一个栈类型,可以通过模板类,只定义一个类,就能让这个栈支持int,double,char等多种数据类型。 go语言呢,不支持多态,自然也就没有模板这个概念,但是没有关系,go语言的设计者自然知道多态的好处,只是觉得重 阅读全文
posted @ 2021-12-18 16:53 技术颜良 阅读(198) 评论(0) 推荐(0)
摘要:取消后运行: 或者 ttt:= T(“fsdfsd”) package mainimport "fmt"type Func func(string) stringtype Int inttype Testinterfacer interface { ADDstr(str string) string 阅读全文
posted @ 2021-12-18 16:44 技术颜良 阅读(56) 评论(0) 推荐(0)
摘要:http://www.manoner.com/post/GoLand/Go%E8%AF%AD%E8%A8%80%E7%9A%84type-func%E7%94%A8%E6%B3%95/ | 阅读 在 Go 语言中,type 可以定义任何自定义的类型 比如熟悉的:type dog struct{},t 阅读全文
posted @ 2021-12-17 11:10 技术颜良 阅读(1722) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-12-17 10:12 技术颜良 阅读(35) 评论(0) 推荐(0)
摘要:https://chai2010.cn/advanced-go-programming-book/ch4-rpc/ch4-05-grpc-hack.html https://pandaychen.github.io/2020/05/30/KRATOS-INTERCEPTOR-ANALYSIS/ 阅读全文
posted @ 2021-12-16 15:59 技术颜良 阅读(44) 评论(0) 推荐(0)
摘要:https://www.elephdev.com/index.php/golang/285.html?ref=addtabs&lang=zh-cn 使用 WebSockets 时,一个程序必须充当服务器。 但是可以有许多其他程序作为客户端。在本文中,我们将创建一个服务器和一个客户端 WebSocke 阅读全文
posted @ 2021-12-16 09:41 技术颜良 阅读(465) 评论(0) 推荐(0)
摘要:1. 什么是 Context? 在 Go 1.7 版本之前,context 还是非编制的,它存在于 golang.org/x/net/context 包中。 后来,Golang 团队发现 context 还挺好用的,就把 context 收编了,在 Go 1.7 版本正式纳入了标准库。 Contex 阅读全文
posted @ 2021-12-14 17:36 技术颜良 阅读(205) 评论(0) 推荐(0)
摘要:https://golang.iswbm.com/c01/c01_12.html Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 今天是最后 阅读全文
posted @ 2021-12-14 14:10 技术颜良 阅读(108) 评论(0) 推荐(0)
摘要:func ResearchDel(s []string, p string) []string { for in := 0; in < len(s); in++ { if s[in] == p { s = append(s[:in], s[in+1:]...) in-- } } return s} 阅读全文
posted @ 2021-12-10 10:35 技术颜良 阅读(57) 评论(0) 推荐(0)
摘要:gin 源码阅读系列文章列表: gin 源码阅读(1) - gin 与 net/http 的关系gin 源码阅读(2) - http请求是如何流入gin的?gin 源码阅读(3) - gin 路由的实现剖析 hi,大家好,我是 haohongfan。 通过 gin 的路由,已经把请求分配到具体的函数 阅读全文
posted @ 2021-12-02 13:12 技术颜良 阅读(944) 评论(0) 推荐(0)
摘要:package main import ( "reflect" "unsafe") func String2Bytes(s string) []byte { sh := (*reflect.StringHeader)(unsafe.Pointer(&s)) bh := reflect.SliceHe 阅读全文
posted @ 2021-12-02 09:35 技术颜良 阅读(368) 评论(0) 推荐(0)
摘要:为了讲多路复用,当然还是要跟风,采用鞭尸的思路,先讲讲传统的网络 IO 的弊端,用拉踩的方式捧起多路复用 IO 的优势。 为了方便理解,以下所有代码都是伪代码,知道其表达的意思即可。 Let's go 阻塞 IO 服务端为了处理客户端的连接和请求的数据,写了如下代码。 listenfd = sock 阅读全文
posted @ 2021-12-01 10:28 技术颜良 阅读(63) 评论(0) 推荐(0)
摘要:Go 中有枚举吗?这是一个模棱两可的问题。有人说它有,有人说它没有。 什么是枚举 代码抽象于现实。程序与生活中关于枚举的概念是相通的:枚举代表一个对象所有可能取值的集合。例如,表示星期的 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY 阅读全文
posted @ 2021-11-30 11:57 技术颜良 阅读(233) 评论(0) 推荐(0)
摘要:func TestRecursion(t *testing.T) { var fib func(n int) int fib = func (n int) int { if n < 2 { return n } return fib(n - 1) + fib(n -2) } t.Log(fib(7) 阅读全文
posted @ 2021-11-29 10:33 技术颜良 阅读(31) 评论(0) 推荐(0)
摘要:type Sayer interface { Say() string} type Cat struct { } func (c Cat) Say() string { return "miaow"} type Dog struct { } func (d Dog) Say() string { r 阅读全文
posted @ 2021-11-29 10:32 技术颜良 阅读(35) 评论(0) 推荐(0)
摘要:今天给大家介绍两个 Go 语言可以用来做定时任务的库,直接上 demo 就好啦。 1. robfig/cron 执行如下命令进行安装: go get -u github.com/robfig/cron 每分钟执行一次: package mainimport ( "log" "github.com/r 阅读全文
posted @ 2021-11-29 10:31 技术颜良 阅读(777) 评论(0) 推荐(0)
摘要:常量:只能读,不能修改,编译前就是确定的值 关键字: const 常量相关类型:int8,16,32,64 float32,64 bool string 可计算结果数学表达式 常量方法 iota 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 阅读全文
posted @ 2021-11-23 12:20 技术颜良 阅读(129) 评论(0) 推荐(0)
摘要:Go编程时光 1.0 前言 第一章:基础知识 第二章:面向对象 第三章:项目管理 第四章:并发编程 第五章:学标准库 第六章:开发技能 第七章:Go面试题 7.1 Go 中的 = 和 := 有什么区别? 7.2 Go 中的指针有什么作用? 7.3 Go 允许多个返回值吗? 7.4 Go 有异常类型吗 阅读全文
posted @ 2021-11-22 11:23 技术颜良 阅读(50) 评论(0) 推荐(0)
摘要:命令行参数常用来为命令行程序指定选项。比如在 wc -l 命令中 -l 就是命令行参数。golang 提供了 flag 包来支持基本的命令行参数解析。 命令行语法 命令行语法如下: -flag -flag=x -flag x // non-boolean flags only 基本用法 定义 fla 阅读全文
posted @ 2021-11-22 11:04 技术颜良 阅读(66) 评论(0) 推荐(0)
摘要:github.com/spf13/cast 阅读全文
posted @ 2021-11-19 08:42 技术颜良 阅读(22) 评论(0) 推荐(0)