1S = 1000ms 1ms = 1000us1us = 1000ns并行: 借助多核 cpu 实现。 (真 并行)并发: 宏观:用户体验上,程序在并行执行。 微观:多个计划任务,顺序执行。在飞快的切换。轮换使用 cpu 时间轮片。 【假 并行】进程并发: 程序:编译成功得到的二进制文件。 占用 磁盘空间。 死的 1 1 进程:运行起来程序。 占用系统资源。(内存) 活的 N 1进程状态: 初
转载 2023-08-22 15:18:48
104阅读
# Golang 使用 Java 在实际开发过程中,有时我们需要在 Golang 程序中集成 Java 代码,以便利用 Java 生态系统中丰富的功能和工具。本文将介绍如何在 Golang使用 Java,并提供一个简单的示例来演示该过程。 ## 使用 GoJava GoJava 是一个用于在 Golang 程序中调用 Java 代码的库。它提供了方便的接口,让我们可以轻松地调用 Java
原创 2024-03-29 08:13:18
77阅读
代码示例: 004.struct类型 004.struct类型 1 type声明新类型 1 type声明新类型 1.1 type testInt func(int) bool // 声明了一个函数类型 1.1 type testInt func(int) bool // 声明了一个函数类型 1.2
原创 2021-07-26 14:16:52
362阅读
    Go作为新兴语言,很容易上手,天生支持并发,为多核CPU而生;接近C的执行效率;静态语言;支持垃圾回收。 一. 安装下载go并设置环境变量set GOROOT=D:\go #sdk目录set GOPATH=D:\gowork #工作目录set PATH=%GOROOT%\bin;%PATH%二. Hello worldpa
原创 2022-12-15 14:09:53
88阅读
Golang是一种高效、快速的编程语言,拥有非常强大的并发和并行处理能力。这使得它成为了很多互联网公司、大型企业以及个人开发者的首选语言。其中,通信机制是Golang实现并发和并行的重要手段之一,也是实现共享内存的关键。传统上,共享内存意味着让多个线程或进程同时访问同一个区域的内存。这样做虽然能够提高程序运行效率,但同时也会导致数据不一致、竞态条件等问题。为了解决这些问题,Golang采用了“不要
Golang从09年发布,中间经历了多个版本的演进,已经渐渐趋于成熟,并且出现了很多优秀的开源项目,比如我们熟知的docker,etcd,kubernetes等,其媲美于C的性能、Python的开发效率,又被称为21世纪的C语言,尤其适合开发后台服务。这篇文章主要是介绍Golang的一些主要特性,和Java做一个对比,以便更好的理解Golang这门语言。关于Golang环境的搭建就不讲了,可以参考
# Golang 使用 Java 时间格式的实现指南 在软件开发中,常常需要在不同的编程语言之间交换数据,尤其是时间格式的处理。在本篇文章中,我们将探讨如何在 Go 语言(Golang)中使用 Java 时间格式。本文将以清晰的步骤和示例代码帮助你理解整个过程。以下是我们将会遵循的步骤流程表: | 步骤 | 描述
原创 2024-08-24 08:08:09
79阅读
# Java使用gRPC调用Golang:一站式指南 ## 引言 在现代微服务架构中,跨语言的服务调用成为一种常态。gRPC作为一个高性能、开源的远程过程调用框架,支持多种编程语言,包括JavaGolang。这使得它们能够无缝地进行服务交互。本篇文章将详细介绍如何在Java使用gRPC调用Golang服务,包括必要的环境设置、相关代码示例以及服务的验证。 ## 环境设置 ### Gol
原创 10月前
97阅读
golang jwt Go在后端Web开发中变得非常流行,而JWT是处理API请求身份验证的最流行方法之一。 在本文中,我们将介绍JWT的基础知识以及如何在Go!中实现安全的身份验证策略。 什么是JWT? JSON Web令牌是一种开放的行业标准RFC 7519方法,用于在双方之间安全地表示声明。 简而言之,JWT是已编码的JSON对象,已由服务器签名,以验证真实性。 例如,当用户登录通过
转载 10月前
24阅读
1 简介1.1 RPCRPC 指远程过程调用(Remote Procedure Call),它的调用包含传输协议和编码(对象序列)协议等,允许运行于一台计算机上的程序调用另一台计算机上的子程序,而开发人员无需额外为这个交互作用编程,就像对本地函数进行调用一样方便。1.2 gRPCgRPC 是一个高性能、开源、通用的 RPC 框架,目前提供了 C、Java 和 Go 等语言版本,分别是 gRPC、g
文章目录1. 关键字1.1. var:变量声明1.2. const / iota1.3. type:类型别名 / 类型定义1.4. fallthrough1.5. new / make1.6. Go语言strconv包:字符串 / 数值类型的相互转换1.7. 字符类型 byte / rune1.8. Golang之类型转换1.9. 类型断言 type assertion1.10. 常量与cons
转载 2024-05-14 20:35:17
49阅读
方法Go 语言中同时有函数和方法。方法就是一个包含了接受者(receiver)的函数,receiver可以是内置类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。如下面的这个例子,定义了一个新类型Integer,它和int一样,只是为它内置的int类型增加了个新方法Less()type Integer int func (a Integer) Less(b Int
转载 2024-02-27 09:15:20
81阅读
golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/MySQL这个驱动,更新维护都比较好。下面演示下具体的使用,完整代码示例可以参考最后。下载驱动sudo go get github.com/go-sql-driver/mysql数据库连接db, er
转载 2023-07-14 16:41:27
185阅读
简介context.Context 是golang中独特的涉及,可以用来用来设置截止日期、同步信号,传递请求相关值的结构体。 与 Goroutine 有比较密切的关系。在web程序中,每个Request都需要开启一个goroutine做一些事情,这些goroutine又可能会开启其他的 goroutine去访问后端资源,比如数据库、RPC服务等,它们需要访问一些共享的资源,比如用户身份信息、认证t
转载 2024-06-28 18:40:04
57阅读
可以免费试用 MongoDB ,500MB 平时做测试没有问题啦,连接数据库可能因为网络有点慢,但是我们是测试啊,不在乎这点吧~ 连接数据库选择的驱动是 mongo-go-driver , 传送门 https://github.com/mongodb/mongo-go-driver/tree/master/examples/documentation_examples &nbs
使用 gvm 可以带来以下好处:快速切换 Golang 版本,方便进行版本测试和开发;可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突;可以通过 gvm 管理不同版本的 Golang,方便安装、卸载和更新;可以自由选择 Golang 的镜像源,下载更快。我使用的是win10 64位系统,所以只考虑windows,其他操作系统应该是类似的。gvm在windows下叫g。一、下载在
文章目录一、单元测试框架介绍1、原生testing1.1 示例1.2 扩展:Table-Driven 设计思想1.3 并行测试2、goconvey2.1 示例2.2 双层嵌套2.3 跳过测试2.4 设置失败后的执行策略2.5 子 Convey 并发执行的原理简述3、testify(推荐)4、测试框架总结二、mock框架介绍1、gostub(不推荐)1.1 基本使用1.2 和 GoConvey 结
转载 2023-07-27 16:43:44
361阅读
问题常用的手段。 日志使用 日志分析,就是根据输出的日志信息,分析挖掘可们使用fmt.Println系列函数也可
转载 2019-11-29 21:45:00
92阅读
2评论
Docker安装Swagger docker pull swaggerapi/swagger-editor docker run -d --name swagger -p 8888:8080 swaggerapi/swagger-editor Docker安装GoSwagger docker pul ...
转载 2021-07-17 14:02:00
910阅读
2评论
一、概述 go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,前者用于普通代码的性能分析,后者用于web服务器的性能分析。 官方文档: https://golan
转载 2021-03-31 15:59:00
616阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5