retry-go retry 113 go
第一篇 go之基本类型与函数使用
go之基本类型与函数使用 一、go语言介绍 1 go语言介绍 Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言,特点:语法简单,速度快。 Go是静态(编译型)强类型语言,是区别于解析型语言的弱类型语言(静态:类型固定 强类型:不同类型不允许直接运算)。 python ......
为什么 Python、Go 和 Rust 都不支持三元运算符?
在编程时,我们经常要作条件判断,并根据条件的结果选择执行不同的语句块。在许多编程语言中,最常见的写法是三元运算符,但是,Python 并不支持三元运算符,无独有偶,两个最热门的新兴语言 Go 和 Rust 也不支持! 为什么 Python 不支持三元运算符呢?本文将主要分析 Python 在设计条件 ......
【组合设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 组合模式(Composite Pattern),又叫部分整体模式,是一种结构型设计模式。用于把一组类似的对象当作一个单一的对象来看。组合模式依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。 如果你需要实现树状对象结构,可以使用组合模式。如果你希望客户端代码以相同方式处理简单和复杂元 ......
【Design Pattern 23种经典设计模式源码详解】Java/JS/TS/Python/Go不同语言实现
经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确保可靠。
设计模式是一个程序员进阶高级的必然选择,不懂设计模式,就像写文章不懂得层次,盖房子没有结构。只有充分懂得设计之道,才能真正设计出良好的... ......
【go语言基础】-数据操作
一. 数组 1. 特征 静态语言的数组特征: 1.大小确定 2.类型一致 只能取值,修改值 由于数组长度固定,在Go里很少直接使用 2. 定义 // 3种方式,声明,初始,省略号 // 变量arr1类型为[5]int var arr1 [5]int // 变量arr2类型为[3]int,同时初始化赋 ......
(转)Go语言之高级篇beego框架之Controller
原文:https://www.cnblogs.com/nulige/p/10365110.html 一、Controller 控制器 Controller等同于Django里的view,处理逻辑都是在Controller里面完成的,下面就写一个最简单的Controller。写controller的时 ......
day18| 513.找树左下角的值;112.路径总和;113.路径总和II;106;105
513.找树左下角的值 深度优先搜索 class Solution: def findBottomLeftValue(self, root: Optional[TreeNode]) -> int: curVal = curHeight = 0 def dfs(node: Optional[TreeN ......
go 函数
前言: 函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段, 可以提高应用的模块性和代码的重复利用率。 正文: 函数定义语法: func 函数名(形式参数列表)(返回值列表){ 函数体 } 函数定义示例1: func getSum(a int, b int) int { return a ......
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 ......
使用msf生成shellcode并用Go免杀?
msf生成的裸马现在已经不行了,加壳也只能加冷门壳了,VMP,Shielden,upx不是失效就是效果很差,所以当下,得用shellcode来免杀了 msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST ......
Go 语言数组和切片的区别
原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指 ......
Centos7 中 关于 tcp_syn_retries
设置地址: /proc/sys/net/ipv4/tcp_syn_retries 默认设置成 6,代表在 syn 请求超时的情况下重发 6 次,每次的等待时间为 2 ^ times ,即 2s, 4s, 8s, 16s, 32s, 64s(不计最初的请求的 1s) 所以 syn 的超时时间为 2 ^ ......
Go语言入门2(流程控制,string)
流程控制 选择结构(分支语句) 因为switch只能匹配固定值,推荐使用if-else做条件筛选 if-else判断 package main import "fmt" func main() { var tmpA int fmt.Scanln(&tmpA) if tmpA >= 90 { fm ......
像python操作attr一样在go里用reflect 操作field (标题与内容弱相关)
用go快两年了,其实是基本没怎么用过反射。主要是感觉对上层的使用来说没啥用。 之前模仿python的getattr和setattr简单写过GetField和SetField,写完简单测了一下就丢一边了也没大量用(因为没有需求啊) func SetField(obj any, attr string, ......
(转)Go init函数详解
原文:https://blog.csdn.net/benben_2015/article/details/79486077 Go init函数详解init()函数会在每个包完成初始化后自动执行,并且执行优先级比main函数高。init 函数通常被用来: 对变量进行初始化检查/修复程序的状态注册运行一 ......
【入门】Go语言排序算法详解
1、冒泡排序 冒泡排序是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻的两个元素,并在必要时交换它们的位置,直到没有任何一对元素需要交换为止。该算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 package main import "fmt" // 我们定义了一个名为`bu ......
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 map
前言: map类型是一个hash表,由键和值组成 正文: map声明格式: var mapname map[keytype] valuetype mapname 为map的变量名 keytype 为键类型 valuetype 是键对应的值类型 未初始化的map的值是nil map创建实例: 方式1: ......
go 切片
前言: 切片的底层是数组,是对数组一个连续片段的引用。 切片和数组的不同在于定义时:数组[]中有值,切片[]中无值 由于数组的长度不可改变,所以Go提供了一种灵活,功能强悍的内置类型切片(“动态数组”)。 切片是一个有三个字段的数据结构,这 3 个字段分别是容量(capacity)、长度(lengt ......
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 语言通过内置的错误接口提供了非常简单的错误处理机制。 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/。 各个系统对应的 ......
Go 语言:通过TDD驱动开发创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。
你被要求创建一个 Web 服务器,用户可以在其中跟踪玩家赢了多少场游戏。 GET /players/{name} 应该返回一个表示获胜总数的数字 POST /players/{name} 应该为玩家赢得游戏记录一次得分,并随着每次 POST 递增 我们将遵循 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 ......
基于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 ......