线上介绍了 go 命令的最新 weekly 发布后,我决定写一些关于它的内容。我得承认,在第一次听说统一 go 工具的时候,我满是怀疑并对此非常恐惧。我担心它会像大多数其他语言特定的包管理器一样混乱。个人认为多数这种包管理器都是在重新发明轮子,并且与操作系统的包管理器发生冲突,让系统管理员生活的更加艰辛。另外,我确实喜欢 makefile,它们简单并且直接,工作得也很好。幸运的是,新的 go 工具
文章目录SSL学习笔记OpenSSL库基础示例ServerClient证书生成问题记录获取错误原因数据发送对方接受不到SSL_connect在服务端异常时阻塞卡住SSL_shutdown崩溃Broken pipe问题解决方式原理 SSL学习笔记OpenSSL库基础根据 官方的例子,OpenSSL常用的结构体和函数如下:初始化OpenSSL库
SSL_library_init():初始化SS
转载
2024-08-06 20:32:51
49阅读
## Go 调用 JavaScript 教程
在当今的开发环境中,将不同语言整合起来实现功能是非常常见的需求。在这篇文章中,我们将学习如何在 Go 中调用 JavaScript。我们会拆分整个过程,并提供必要的代码和解释,帮助你快速上手。
### 整个流程
我们可以将整个过程分为以下几个步骤:
| 步骤 | 描述 |
| ---- | ---
一、Gojs图形库介绍实现此效果可看此文章gojs是javascript中一个非常强大交互式图形库 支持TS GoJS 为用户交互提供了许多高级功能,例如拖放、复制和粘贴、就地文本编辑、工具提示、上下文菜单、自动布局、模板、数据绑定和模型、事务状态和撤消管理、调色板、概述、事件处理程序、命令和用于自定义操作的可扩展工具系统。 官网示例比较丰富,基本可满足日常需求!二 、常用的api及实例1. 每一
转载
2023-11-09 13:34:08
292阅读
C++太麻烦(难)了,想要盘弄一下V8实在是有些费劲,但是Golang社区出了几个Javascript引擎,要尝试在别的语言中如何集成Javascript,是个不错的选择。以下选了 github.com/dop251/goja 来做例子。Hello world照着仓库的Readme,来一个:package mainimport ( "fmt" js "github.com/dop251/
转载
2023-08-28 14:05:05
853阅读
在现代开发中,Go(Golang)作为一种高效的编程语言经常被用来提供后端服务,而JavaScript则在前端作为用户交互的主要语言。为了实现更灵活的交互,有时需要让Go调用JavaScript,同时让JavaScript也能调用Go。这一复杂的交互在实际应用中非常普遍,接下来将展示如何通过具体的步骤和示例解决这个问题。
## 环境准备
在开始之前,你需要确保安装以下工具和库。
**依赖安装
介绍Energy Go和JS的事件通信, Go监听事件JS触发。IPC事件还有其它的几种使用方式,在其它教程中更新在正常前后端大多数开发场景,JS和Go前后端数据交互都需要Http接口方式交互。Energy中可以不使用Http,使用事件通信机制(IPC),事件通信可以让Go和JS很方便的进行数据交互和功能实现,在Go中或JS定义事件监听,然后在Go中和JS中触发监听的事件。定义的方式为Go: 监听
转载
2024-04-10 17:01:36
382阅读
GoJS是一个用于实现交互式图表的JavaScript库。本页将向您展示使用GoJS的要点。因为GoJS是一个依赖HTML5特性的JavaScript库,所以你开发的页面是在HTML5的基础上。当然,首先需要加载库:<!DOCTYPE html> <!-- 指定文档类型为 HTML5 -->
<html>
<head>
<!-- 开发时请使
两个进程执行两个goroutine 输出 一个进程执行两个goroutine 输出
转载
2019-01-27 21:03:00
231阅读
2评论
文章篇幅较长,可以先收藏防止迷路~目录zap日志库1. why zap?2. 简单使用3. 自定义logger例子4. Gin项目使用zap6. lumberjack 日志切割组件zap日志库在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能:能够将事件记录到文件中,而不是应用程序控制台;日志切割-能够根据文件大小、时间或间隔等来切割日志文件;支持不同的日志级别。例如INFO,D
1.安装相关包 设置代理set GOPROXY=https://goproxy.cn 安装 golang 的proto工具包go get -u github.com/golang/protobuf/proto安装 goalng 的proto编译支持go get -u github.com/golan ...
转载
2021-07-27 16:45:00
365阅读
2评论
首先,要认识一个贯穿始终的接口http.Handlertype Handler interface {
ServeHTTP(ResponseWriter, *Request)
}其中,两个参数,一个是表示响应的接口,另一个表示请求。具体方法先忽略:type ResponseWriter interface {
}使用时,这个函数指这定地址和对应的handlerfunc ListenAndS
转载
2024-06-07 14:16:53
20阅读
应用场景:最近搞一个爬PDD的玩意儿,但是人家前端有加密,js里面一大坨加密混淆的代码,怎么整?不管它三七二十八,把js加密代码整理出来,直接用Go调用它的加密生成算法,钥匙有了,接下去,想咋偷,就看你了先创建一个简单的js测试文件:test.jsfunction add(a,b) {
return a+b
}Go调用示例:package main
import (
"fmt"
"g
转载
2023-06-13 09:43:47
156阅读
1、导语目前Go语言已经为大多数人所熟知,越来越多的开发人员选择使用Go语言来进行开发,但是如何使用Go来进行web开发,在其他编程语言中都有对应的开发框架,当然在Go中也有,就是即将要介绍的——iris,它号称为速度最快的Go后端开发框架。在iris的网站文档上,列出该框架具备的一些特点和框架特性,列举如下:1)聚焦高性能
2)健壮的静态路由支持和通配符子域名支持
3)视图系统支持超过5以上模板
转载
2023-12-01 10:16:11
62阅读
用go实现get/post请求调用api先复习一下调用接口的过程需要url是get方法,还是post方法?url需要加参数吗?序列化?1. 返回的response 的body 默认类型是[]bytebody, err := ioutil.ReadAll(resp.Body)
//查看返回值的类型
fmt.Println(reflect.TypeOf(body))
//终端显示body的类型是[]u
转载
2023-09-05 21:57:43
86阅读
准备工作: 1. 安装protobuf 编译环境 https://github.com/protocolbuffers/protobuf/releases 2. 安装go语言的protobuf代码转换工具protoc-gen-go go get -u github.com/golang/protob ...
转载
2021-11-03 17:19:00
647阅读
2评论
参考文章: 1. https://www.cnblogs.com/kaixinyufeng/p/9651513.html 2. http://jia-shun.cn/2018/08/12/gRPC/ 文章1应该是参考的文章2. 文章1在2的基础上增加了如何安装protobuf软件.一起整理出来 这篇
原创
2021-06-04 14:20:38
308阅读
Golang包管理工具glide简介 前言 Golang是一个十分有趣,简洁而有力的开发语言,用来开发并发/并行程序是一件很愉快的事情。在这里我感受到了其中一些好处:没有少了许多代码格式风格的争论,强制统一的风格多好;编译速度超快,再也不用等待许久,才能编译完工程(测试驱动开发自然更爽);也不会出现同一个项目组中的人,在使用同一个语言的不同子集。但这种情况不论是在C#还是在Java的世界里,都还
首先加入引用go get github.com/Shopify/sarama@latest 消费者,Sarama客户提供了AsyncProducer和SyncProdcer两种类型的生产者,这里以SyncProducer为例package main
import (
"fmt"
"github.com/Shopify/sarama"
)
func main() {
config := s
原创
2024-05-15 09:16:11
81阅读
Go类型断言demo go package main import ( "bytes" "encoding/json" "fmt" "io" "net/http" "time" "github.com/unknwon/com" ) //空接口 func test1() { a := make(map
原创
2021-08-07 12:21:12
415阅读