going

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

简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
设计模式 策略 语言 模式 Python

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。

2022-04-27:用go语言重写ffmpeg的remuxing.c示例。 答案2022-04-27: ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命令行工具。它可以将音频、视频和字幕等元素从源文件中提取出来,并按照用户指定的方式重新封装到目标文件中 ......
示例 remuxing 语言 ffmpeg 2022

go

今日内容 1 数组和切片 1.1 数组 # 1 定义,初始化,使用 # 2 数组是值类型 -数字,字符串,布尔,数组,都是值类型,真正直接存数据 -切片,map,指针 引用类型,是个地址,指向了具体的值 # 3数组长度 # 4 循环打印数组 # 5 多纬数组 # 6 数组定义并赋初值 ,把第99 赋 ......
go

Go--日志

一、Logger go语言默认提供的日志功能,包为ttps://golang.org/pkg/log/ 优势: 使用非常简单,可以设置任何io.Writer作为日志记录输出并向其发送要写入的日志 劣势: 仅限基本的日志级别 只有一个Print选项。不支持INFO/DEBUG等多个级别 对于错误日志, ......
日志 Go

Go语言协程技术文档

协程(goroutine)是Go语言的一种轻量级线程,可以在一个线程中运行多个协程,从而实现高并发程序。协程具有低开销、高效率和易于管理等优点,被广泛应用于网络服务、云计算、大数据处理和人工智能等领域。本文将介绍Go语言协程的基本概念和使用方法。 协程的概念 协程是一种用户级线程,由Go语言的运行时 ......
技术文档 语言 文档 技术

go语言实现并发遍历目录

go语言实现并发遍历目录 目录树结构定义 先实现一个目录树的数据结构定义,需要支持共享访问。 package main import ( "os" "strings" "sync" ) type ( // 目录项 DirEntry struct { Name string `json:"name"` ......
语言 目录

go slice使用

1. 简介 在go中,slice是一种动态数组类型,其底层实现中使用了数组。slice有以下特点: *slice本身并不是数组,它只是一个引用类型,包含了一个指向底层数组的指针,以及长度和容量。 *slice的长度可以动态扩展或缩减,通过append和copy操作可以增加或删除slice中的元素。 ......
slice go

【单例设计模式原理详解】Java/JS/Go/Python/TS不同语言实现

简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 ......
设计模式 原理 语言 模式 Python

Go Web学习笔记--处理表单的输入

通过一个注册的示例来演示如何通过Go语言来处理表单的输入。 首先,创建一个简单的html文件,代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body ......
表单 笔记 Web Go

go----day03()

面试 sort list.sort 昨日回顾 # 1 go 基础数据类型 -数字:整数,正整数,浮点数,复数 -字符串: "" `` -单引号引起来的,只能放一个字符 a 中 -实际上是数字表示 20013 -默认是int32 实际上是rune -也可定义为 byte类型或uint8类型 -布尔类型 ......
day go 03

go:函数高级、包的使用、if-else、循环、switch、数组

一、函数高级 1、函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量,有两种情况: test3 函数,接收一个参,参数是函数类型:没有参数没有返回值 test3 有返回值,返回值是个函数:函数有两个参数,一个返回值 有参数有返回值的带代码如下: package main import "fm ......
数组 函数 if-else switch else

Go的变量类型、Go函数、Go的包、Go的流程控制、Switch关键字

==GO的变量类型== 1.普通类型 1.整形 int int8 int16 int32 int64 int8 -2的7次方~2的7次方-1 》》 一个字节表示(8个比特位) int16 -2的15次方~2的15次方-1 int32 同理 int64 同理 int 分机器,32位机器是int32 6 ......
变量 函数 关键字 流程 关键

Go

今日内容 1 函数高级 package main import "fmt" // 1 函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量 // test3 函数,接收一个参,参数是函数类型:没有参数没有返回值 // test 有返回值,返回值是个函数:函数有两个参数,一个返回值 //func ......
Go

Go入门基础03

函数高级 给类型重命名: 函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量 1. 例:type MyFunc func(int, int) int MyFunc就是我们将func(int, int) int重新定义了一下类型,以后在定义函数类型的是时候直接使用MyFunc就是代替了func ......
基础

go语言 函数高级、包的使用、if-else、循环、switch、数组

==函数高级== // 函数 1 没有参数没有返回值 fun 函数名(){} 2 有参数没有返回值 fun 函数名(a int){} 3 多个参数同一种类型,可以简写 fun 函数名(a,b int){} 4 多个参数同一种类型,有返回值可以简写 fun 函数名(a,b int)int{ retru ......
数组 函数 if-else 语言 switch

Go-day3——函数高级、包的使用、if-else、循环、switch、数组

一、函数高级 1、函数的参数和返回值都是类型的一部分,函数可以赋值给一个变量,有两种情况: test3 函数,接收一个参,参数是函数类型:没有参数没有返回值 test3 有返回值,返回值是个函数:函数有两个参数,一个返回值 有参数有返回值的带代码如下: package main import "fm ......
数组 函数 if-else Go-day switch

go----day02()

昨日回顾 # https://zhuanlan.zhihu.com/p/624648232 # python 》setuptools--》whl包结构 公司内部写了包 》公司内部用 》开源出来 公司写好的项目,打包好,发给客户,客户可以直接运行起来 # 你们下的第三方包都是:requests-2.2 ......
day go 02

go中 for循环的坑

go中 for循环的坑 在使用for循环修改结构体切片中的值时,发现并没有修改成功。 type Dog struct { name string } func (d *Dog) setNewName(name string) { d.name = name } func main() { d := ......
for

【go】函数高级 包的使用 gin框架初使用 if-else 循环 switch 数组

昨日回顾 sort list.sort # 1 go 基础数据类型 -数字:整数,正整数,浮点数,复数 -字符串: "" `` -单引号引起来的,只能放一个字符 a 中 -实际上是数字表示 20013 -默认是int32 实际上是rune -也可定义为 byte类型或uint8类型 -布尔类型 :t ......
数组 函数 框架 if-else switch

【go】go语言变量类型 常量 函数基础 函数高级 setuptools将python项目打包 前后端联调

昨日回顾 使用setuptools将python项目打包 # https://zhuanlan.zhihu.com/p/624648232 # python 》setuptools--》whl包结构 公司内部写了包 》公司内部用 》开源出来 公司写好的项目,打包好,发给客户,客户可以直接运行起来 # ......
函数 常量 变量 setuptools 语言

centos7 go语言环境安装

要在 CentOS 7 上安装 Go 环境,可以按照以下步骤进行操作: 1. 访问 Go 官网下载页面(https://golang.google.cn/dl/),并选择适合自己系统的版本和包。 2. 下载完成后,使用以下命令将下载的 tar 包解压到 /usr/local 目录: ``` sudo ......
centos7 语言 环境 centos

go channel源码阅读

go channel源码阅读 channel 介绍 channel是一个类型管道,通过它可以在groutine之间发送消息 核心数据结构 channel内部数据结构是固定长度的双向循环列表 按顺序往里面写数据,写满之后又从0开始写 chan中的两个重要组件是buf和waitq,所有的行为和实现都是围 ......
源码 channel go

golang -WARNING: undefined behavior - version of Delve is too old for Go version 1.19.3 (maxi mum supported version 1.17)-解决

1.背景 启动警告 这是idea 内置的dlv.exe调试器版本太低了 2.解决 安装最新的 go install github.com/go-delve/delve/cmd/dlv@latest 安装成功后, 在golang的安装位置多出来个新的dlv.exe idea打开配置 写上自己的地址即可 ......
version undefined supported behavior WARNING

go之logrus自定义日志样式

日志功能配置:logrus.go package core import ( "bytes" "fmt" "github.com/sirupsen/logrus" "io" "os" "path" ) const ( red = 31 yellow = 33 blue = 36 gray = 37 ......
样式 logrus 日志

Go语言入门12(协程 goroutine)

协程 进程和线程 进程 ​ 当运行一个应用程序的时候,操作系统会为这个应用程序启动一个进程。可以将这个进程看作一个包含了应用程序在运行中需要用到和维护的各种资源的容器。这些资源包括但不限于内存地址空间、文件和设备的句柄以及线程 线程 ​ 一个线程是一个执行空间,这个空间会被操作系统调度来运行函数中所 ......
goroutine 语言

Go的GC回收机制

一、GoV1.3的标记清除法 原理: 第一步,暂停程序业务逻辑,找出不可达的对象和可达对象 第二步,开始标记,程序找出它所有可达的对象,并做上标记 第三部,标记完了之后,然后开始清除未标记的对象 第四步,停止暂停,让程序继续跑,然后循环重复这个过程,知道process程序生命周期结束 缺点: STW ......
机制

go基础02

变量名的命名规范 // go语言中的函数,变量名,常量名,类型名和包名等所有的命名都会遵循一个命名规则: 1.一个名字必须以字母(Unicode字母)或者下划线开头,后面可以是任意的字母数字下划线组成 2.大写字母与小写字母是不同的:(区分大小写,在Go语言张红的大写是由特殊含义的) 3.关键字和保 ......
基础

go创建简单远程ssh连接

package utilimport ( "bytes" "errors" "fmt" "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh" "strings" "time")func publicKeyAuthFunc(pemBytes, k ......
ssh

编程实现可靠数据传输原理 Go-Back-N

1. 编写接收端代码 接收端模拟网络环境较差时情况,每次生成一个随机数,小于0.8时不丢包,大于0.8时丢包。 接收数据格式:编号+空格+内容 返回数据格式: 丢包:Loss+空格+编号 未丢包:ACK+空格+编号 接收包非累计计数时不做处理。 2. 编写发送端代码 发送端较为复杂,分为两个线程: ......
数据传输 Go-Back-N 原理 数据 Back

Go

今日内容 1 go语言变量类型 # 数字 # int 整数有正负 int8 int16 int32 int64 java byte short int long -int8 一个字节表示(8个比特位) 范围: -2的7次方 到 +2的7次方-1 -int16 2个字节表 范围: -2的15次方 到 ......
Go