![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
文章平均质量分 57
kanguolaikanguolaik
2013.08.07 今天是个好日子
展开
-
golang: go test
一、简单使用1.1 代码文件:MyTest.gopackage mainimport ( "fmt")func Add(a, b int) int { return a + b}func main() { a := 10 b := 20 fmt.Println("sum:", Add(a,b))}文件:MyTest_test.gopackage mainimport (原创 2022-03-18 17:31:50 · 729 阅读 · 0 评论 -
golang: 使用pprof做性能分析
## 一、pprof介绍## 二、使用原创 2022-03-08 21:43:17 · 354 阅读 · 0 评论 -
golang:第三方库,dns解析库miekg/dns
文章目录一、dns解析库1.1 dns查询一、dns解析库第三方dns库miekgmiekg/dns可以做dns查询、可以做local dns、可以做授权dns。由于下载不到:golang.org/x/crypto/ed25519,需要将代码中相关的代码删除掉,做dns查询时不会用到该部分代码。1.1 dns查询代码:package mainimport ( "fmt" "time" "github.com/miekg/dns")fu原创 2020-11-26 11:59:23 · 5947 阅读 · 0 评论 -
golang的http包:简单client与server、自定义请求、自定义处理重定向
文章目录一、http库1.1 简单client与server一、http库1.1 简单client与server代码1(server):package mainimport ( "io" "log" "net/http")func main() { helloHandler := func(w http.ResponseWriter, req *http.Request) { io.WriteS原创 2020-11-24 15:34:01 · 1083 阅读 · 0 评论 -
golang并发示例
文章目录一、golang并发示例1.1 select、超时一、golang并发示例1.1 select、超时知识点:select每个case语句必须是一个IO操作。select随机选择一个可运行的case。select没有可运行的case,就会阻塞。代码:package mainimport ( "fmt" "time")func main() { // ch := make(chan int) go原创 2020-10-12 20:12:53 · 463 阅读 · 0 评论 -
golang函数相关
文章目录一、函数参数1.1 值传递、引用传递一、函数参数1.1 值传递、引用传递知识点:slice是值传递。代码1:package mainimport ( "fmt")func test(a []int) { a = append(a, 4)}func main() { arr := []int{1,2,3} fmt.Println(arr) test(arr) fmt.Print原创 2020-10-10 17:13:30 · 286 阅读 · 0 评论 -
go错误处理:defer、panic、recover
文章目录一、错误处理1.1 正常代码运行1.2 panic代码运行1.3 defer&recover代码运行一、错误处理1.1 正常代码运行代码:package mainimport ( "fmt")func test() { fmt.Println("test1") //panic("test panic") fmt.Println("test2")}func main() { test()原创 2020-10-10 10:46:31 · 144 阅读 · 0 评论 -
CGo
文章目录cgocgo知识点/* */之前的是C代码。C代码和 import “C” 之间不能游空格,否则会报错。import “C” 必须单独一行,不能和其他的import写在一起。代码:package main/*#include <stdint.h>static int32_t add(int32_t a, int32_t b) { return a + b;}*/import "C"import ( "fmt")f原创 2020-09-07 20:55:24 · 183 阅读 · 0 评论 -
golang用struct实现继承和多重继承
struct实现继承和多重继承零、知识点一、继承1.1 代码1.2 运行结果二、多重继承2.1 代码2.2 运行结果零、知识点继承一个结构体嵌到另一个结构体,称作组合。匿名和组合的区别:1.如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现继承。2.如果一个struct嵌套了另一个【有名】的结构体,那么这个模式叫做组合。3.如果一个struct嵌套了多个匿名结构体,那么这个结构可以直接访问多个匿名结构体的方法,从而实现多重继承。一、继承1原创 2020-08-06 15:08:58 · 5390 阅读 · 0 评论 -
golang接口interface实现多态
interface实现多态一、代码二、运行结果一、代码package mainimport ( "fmt")//interfacetype IPerson interface { Info() string}//teachertype Teacher struct { Name string}func (t *Teacher) Info() string { return "teacher name: " + t.Name}//studenttype Stude原创 2020-08-06 14:53:21 · 926 阅读 · 0 评论