ICode9

精准搜索请尝试: 精确搜索
  • Golang的RSA加密2022-06-01 23:33:01

    1、java的生成是RSA的解密是  "RSA/ECB/PKCS1Padding"; 2、PHP的是 OPENSSL_PKCS1_PADDING   package main import ( "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/pem" "fmt" "os&q

  • Golang 常见设计模式之单例模式2022-06-01 10:34:13

    之前我们已经看过了 Golang 常见设计模式中的装饰和选项模式,今天要看的是 Golang 设计模式里最简单的单例模式。单例模式的作用是确保无论对象被实例化多少次,全局都只有一个实例存在。根据这一特性,我们可以将其应用到全局唯一性配置、数据库连接对象、文件访问对象等。Go 语言实现

  • 「工具推荐」golang 代码可视化工具 go-callvis2022-06-01 10:31:33

    「工具推荐」go-callvis go-callvis是相对 以图片的形式展示了go程序的调用关系,这个工具在看复杂项目时尤其有用。 亲测,借助它看祖传golang代码,头痛好多了。 安装 go get -u github.com/TrueFurby/go-callvis # or git clone https://github.com/TrueFurby/go-callvis.git cd

  • Golang 的无缓冲通道和有缓冲通道2022-06-01 00:35:50

    声明通道 package main func main() { /* //无缓冲整型通道 unbuffered := make(chan int) //有缓冲字符串通道 buffered := make(chan string,10) //向通道发送值 <- 在通道右侧 buffered <- "Gopher" //从通道接受值 <- 在通道左侧 value := <- buffered

  • golang 方法接收者2022-05-31 15:01:44

    [定义]: golang的方法(Method)是一个带有receiver的函数Function,Receiver是一个特定的struct类型,当你将函数Function附加到该receiver, 这个方法Method就能获取该receiver的属性和其他方法。 [面向对象]: golang方法Method允许你在类型上定义函数,是一个面向对象的行为代码, 这也有一

  • golang 保存时间到数据库会多出来八小时2022-05-31 15:00:48

    在golang 保存时间字符串转为时间格式后保存多出8小时 初步排查可能mysql数据库服务器时间问题 show variables like'%time_zone'; // outpot Variable_name`, `Value` 'system_time_zone', 'CST' 'time_zone', 'SYSTEM' 进入服务查看 date # outpout Tue May 31 14:

  • Golang使用Protobuf2022-05-31 07:31:23

    1、 概述 Protocol buffers 是语言中立、平台中立、可扩展的结构化数据序列化机制,就像 XML,但是它更小、更快、更简单。你只需定义一次数据的结构化方式,然后就可以使用特殊生成的源代码轻松地将结构化数据写入和读取各种数据流,支持各种语言。因为profobuf是二进制数据格式,需要编码

  • Golang 的 goroutine 的 竞争解决方法 原子操作atomic(乐观锁)和互斥锁mutex(悲观锁)2022-05-31 00:03:27

    竞争状态 如果两个多以上的goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读或者写,就处于相互竞争的状态。 解决这种问题的方法就是在同一时刻只有一个goroutine对此资源进行读写操作。 package main import ( "fmt" "runtime" "sync" ) var( counter in

  • go 性能测试2022-05-30 23:32:38

    go 性能测试 1.1 单元测试 单元测试主要是为了验证功能跟你的预期是否一致,简单来说就是验证你的函数能否正常运行及运行结果是否是你的预期 func TestStrCat(b *testing.T) { hello := "hello" golang := "golang" fmt.Printf("%s %s\n", hello, golang) } go test -v go_test

  • golang开发环境搭建(Mac)2022-05-30 16:32:03

    1、安装golang   (1)使用homebrew brew install go   (2)查看是否成功 go version   (3)配置GOPATH目录,在GOPATH目录下创建三个工作目录,bin/pkg/src   使用 go env查看环境变量,然后 cd $GOPATH目录,使用 mkdir -p $GOPATH/{bin,pkg,src}   (4)配置GOPROXY   一般使用七牛

  • 【Golang】关于Go中一些常用的知识介绍2022-05-30 00:34:43

    一、哪些类型可以作为map的key ? 1、可比较的类型都可以作为map key boolean 布尔值 numeric 数字 包括整型、浮点型,以及复数 string 字符串 pointer 指针 两个指针类型相等,表示两指针指向同一个变量或者同为nil channel 通道 两个通道类型相等,表示两个通道是被相同的mak

  • 【Golang】 关于Go 并发之三种线程安全的 map2022-05-30 00:34:04

    一、map 是什么 map 是 Go 中用于存储 key-value 关系数据的数据结构,类似 C++ 中的 map,Python 中的 dict。Go 中 map 的使用很简单,但是对于初学者,经常会犯两个错误:没有初始化,并发读写。 1、未初始化的 map 都是 nil,直接赋值会报 panic。map 作为结构体成员的时候,很容易忘记对它的

  • Golang 的 Goroutine2022-05-29 23:35:29

    Goroutine的概念 当一个函数创建为goroutine时候,就是在匿名函数前加一个go ,golang会把这个函数当做一个独立的工作单元,然后使用golang内部的逻辑处理器进行执行。golang的逻辑处理器在操作系统之上,并且会将golang的逻辑处理器和操作系统的线程进行绑定。 golang的调度器会在任何

  • Golang 基础之内建函数使用 (一)2022-05-29 22:03:30

    大家好,今天将梳理出的 Go语言内建函数内容,分享给大家。 请多多指教,谢谢。 本次《Go语言内建函数使用》共分为两个章节,本文为第一章节 Golang 基础之内建函数使用 (一) Golang 基础之内建函数使用 (二) 本节知识点 内建函数主要参考 go源码 go/src/builtin/builtin.go 中定义,以

  • 【golang】命令行安装 gopls 报 read: connection reset by peer 错误2022-05-29 16:33:48

    目录背景解决方法原因 背景 在本地配置 vscode 的开发环境时,vscode 的 golang 插件需要依赖 gopls 进行代码补全功能。 但在本地安装时,却提示了 read: connection reset by peer 的错误 go: github.com/go-delve/delve/cmd/dlv@latest: github.com/go-delve/delve@v1.8.3: read tc

  • 基于golang的swagger2022-05-29 15:00:24

    Swagger 相关的工具集会根据 OpenAPI 规范去生成各式各类的与接口相关联的内容,常见的流程是编写注解 =》调用生成库-》生成标准描述文件 =》生成/导入到对应的 Swagger 工具。   一般步骤: 1.按照swagger要求给接口代码添加声明式注释 2.使用swag工具扫描代码自动生成api接口文

  • golang 1.18 plugin 经验总结2022-05-29 08:02:55

    golang plugin 结论: 0 ** 目前 golang1.8 以上, 现在golang1.18 ,并且类linux 费windows 平台支持golang的plugin. 1 ** 目前只能加载,不能卸载so,所以 so加载导内存后,不会卸载,无限加载so会导致内存泄露;2 so 里面引用的其他package 和 主进程 地址相同,比如so调用了 log.SetPr

  • Golang 嵌入类型以及公开的属性和方法的解释2022-05-29 00:02:50

    package main //当用接收者的类型是值类型的时候,只能调用或者传参为值类型,且只能在调用的时候实现值类型的方法 //当接收者是指针的接收者的时候,可以调用所有的接口的方法集。 //且 指针接受者的方法优先级最高,即使指针接收者可以调用值类型的方法,但是对于修改地址变量不生效。 /

  • Golang 值类型结构体和指针类型的结构体实现接口的区别(方法集)2022-05-27 23:34:07

    方法集 这里先说一下golang的方法集的概念,有助于下面代码的理解: golang的方法集定义了一组关联到给定类型的值或者指针的方法。定义方法时使用的接收者的类型决定了这个方法是关联到值还是关联到指针,还是都关联。 翻译一下官方的定义就是如果接口接受的是一个指针接收者类型的值,那

  • golang 栈、堆2022-05-27 17:01:03

    golang 栈、堆 https://segmentfault.com/a/1190000017498101 https://juejin.cn/post/6943596197349163015 https://xie.infoq.cn/article/530c735982a391604d0eebe71 数据结构的堆栈: 堆:堆可以被看成是一棵树,如:堆排序。 栈:一种先进后出的数据结构。 内存分配中的堆和栈 栈(操作系

  • Protocol Buffers概述及Mac下安装配置2022-05-27 08:34:08

    1、概述 现在的网络应用都是前后端分离的,数据传输方式有:json和xml两种格式。现在又多了一种数据传输方式,就是google开发的Protocol Buffers(Protocol buffers 是语言中立、平台中立、可扩展的结构化数据序列化机制,就像 XML,但是它更小、更快、更简单。你只需定义一次数据的结构化方

  • golang GRPC 携带上下文信息2022-05-26 19:01:38

    使用context.Context 上下文去全局数据 metadata type MD map[string][]string //第一种方式 md := metadata.New(map[string]string{"key1": "val1", "key2": "val2"}) //第二种方式 key不区分大小写,会被统一转成小写 md := metadata.Pairs( "key1",

  • 渗透.md2022-05-26 10:33:38

    shell 目录shell运行时隐藏golang程序自己的cmd窗口: 运行时隐藏golang程序自己的cmd窗口: go build -ldflags -H=windowsgui *.go

  • Golang网络编程: DNS子域名爆破2022-05-26 08:31:20

    域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。这就如同一个地址簿,根据域名来指向IP地址。 域名系统_百度百科 实现DNS客户端 使用第三方包 github.com/miekg/dns $ go get github.com/miekg

  • golang 操作excel优秀开源库 Excelize2022-05-26 01:01:05

    介绍 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带有样式、图片(表)、透

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有