首页 > TAG信息列表 > FUNC
Ansible
Ansible介绍Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是Ansible所运行的模块,Ansibleruntime标准库
runtime标准库 runtime包提供和go运行时环境的互操作,如控制goroutine的函数。 它也包括用于reflect包的低层次类型信息。 1. 环境变量 环境变量GOGC设置最初的垃圾收集目标百分比。当新申请的数据和前次垃圾收集剩下的存活数据的比率达到该百分比时,就会触发垃圾收集。默认GOGC=1Golang Gin实践 连载十二 生成二维码
前言 本章节将实现如下功能: 生成二维码 合并海报(背景图+二维码) 实现 首先,你需要在 App 配置项中增加二维码及其海报的存储路径,我们约定配置项名称为 QrCodeSavePath,值为 qrcode/ 生成二维码 安装:go get -u github.com/boombuler/barcode 工具包 考虑生成二维码这一动作贴合工具单例模式
单例模式 使用标准库 package singleton var ( once sync.Once singleton *Singleton ) type Singleton struct{} func NewSingleton() *Singleton{ once.Do(func(){ singleton = &Singleton{} }) return singleton } 不使用标准库 package singlpython 抽象类+抽象方法实现接口(interface) ----有机会用用
https://zhuanlan.zhihu.com/p/508700685 import abc #利用abc模块实现抽象类 class shuiguo(metaclass=abc.ABCMeta): all_type='sg' @abc.abstractmethod #定义抽象方法,无需实现功能 def name(self): pass @abc.abstractmethod #定义抽象方golang 优先队列
前置条件 golang 优先队列几种构建方式,使用比起其他语言稍微有些复杂 6178. 将区间分为最少组数 简单构建优先队列 func minGroups(intervals [][]int) int { if len(intervals)==0{ return 0 } //按照前面一个位置进行排序,相等按照后面的升序 s重温Go语法笔记 | 结构体
结构体 多个任意类型聚合成的复合类型 1.字段拥有自己的类型和值 2.字段名必须唯一 3.字段可以是结构体 结构体的定义是一种内存布局的描述 只有实例化才会真正分配内存,必须实例化之后才能使用结构体的字段 结构体的实例化 type Point struct { X int Y int } var p P闭包第2天
2022-09-10 闭包的使用实例 1 def config_name(name): 2 def inner(msg): 3 print(name + ":" + msg) 4 5 print(id(inner)) 6 return inner 7 8 A = config_name("A") 9 B = config_name("B") 10 A ("有朋自远方来,不亦我的设计模式之旅 ⑤ 装饰模式
一个菜鸟的设计模式之旅,文章可能会有不对的地方,恳请大佬指出错误。 编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。 程序介绍 本程序实现装饰模式。小明和小王去吃沙县小吃,各自喜欢不同的搭配,需要考虑每个人饮食喜好不同,随时可能的变化。 小明想吃不带汤的面Golang 实现strtotime 字符串转换为时间戳的方法
在php中,有strtotime 将字符串转换为时间戳,在Golang 中,同样可以实现类型的函数。 1 package main 2 3 import ( 4 "fmt" 5 "time" 6 "regexp" 7 "strings" 8 "strconv" 9把func和tuple dict组合的一种登录界面
def login(): print("开始登录功能")def register(): print("开始注册功能")def transfer(): print("开始转账功能")def withdraw(): print("开始提现功能")def check_blance(): print("开始查询余额功能")func_dict = { '0':Gin实践 连载五 编写一个简单的文件日志
编写一个简单的文件日志 在上一节中,我们解决了API’s可以任意访问的问题,那么我们现在还有一个问题。 就是我们的日志,都是输出到控制台上的,这显然对于一个项目来说是不合理的,因此我们这一节简单封装log库,使其支持简单的文件日志! 新建logging包 我们在pkg下新建logging目录,新建file.go gin渲染
go gin渲染 各种数据格式的响应 json、结构体、XML、YAML类似于java的properties、ProtoBuf package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testdata/protoexample" ) // 多种响应方式 func main() { // 1.创建路由 // 默认使用工厂方法模式
工厂方法模式 咖啡接口 package factoryMethod type coffer interface{ addMilk() addSugar() getName() string } 咖啡 package factoryMethod type coffee struct{ name string } 中式咖啡 package factoryMethod type chinaCoffee struct { coffee } func我的设计模式之旅 ① 策略模式、简单工厂、反射
一个菜鸟的设计模式之旅,文章可能会有不对的地方,恳请大佬指出错误。 编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。 程序介绍 本程序实现收银员对顾客收银时可以采用不同的促销策略,支持原价,按折扣促销,满多少返利多少三种策略。使用策略模式与简单工厂模式。简std::bind绑定unique_ptr
问题的来源,绑定和unique_ptr std::bind绑定unique_ptr的时候生成的类型并非std::function,而是一个不可拷贝的类型,这跟unique_ptr的特性有关,这意味着如果需要暂时保存绑定的函数,没有能够接受对象的类型声明 如果不需要保存可以使用auto来接受绑定的对象,然后调用 void Test(int valC# Func入门一
这篇的主要目的是用一些例子展示如何使用Func。 Func其实是一个内置的委托,它带来了一些函数式编程特性,并有助于减少代码冗长。 Func只能包含0 ~ 16个输入参数,且必须有一个返回类型。(Func委托有16个重载。) 例子一 //1.FuncExp1:不带参数的方法 static string GetMessag简单工厂模式
简单工厂模式 工厂接口 package simpleFactory type drink interface{ show() } 咖啡对象 package simpleFactory type coffee struct { } func (c *coffee)show(){ fmt.Println("来杯咖啡提提神!") } 茶对象 package simpleFactory type tea struct{ } func (t *te跨域解决方法
jsonp 原理:利用了img,link,script,iframe标签都不存在跨域限制的特点,使用script标签传递函数 大致步骤:前端把一个函数(func)传递到后端,后端做字符串拼接,得到 "func('一段文字')" 的字符串,发送回前端后,前端就会执行 func('一段文字') 缺点:只能处理get请求,因为要通过?callback=xxx的形式;【一个经典BUG】gin框架中,异步协程使用context导致取不到数据
bug的内容大致如下: func httpHandle(c *gin.Context) { go func(ctx Context){ v := ctx.Value("xxx") // 这里取不到值,导致后续发生panic }(c) } 1.发生panic是随机的; 2.问题的原因是:当协程开始使用context的时候,父级协程技术,gin框架回收了context。 context失延宕执行,妙用无穷,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中defer关键字延迟调用机制使用EP17
先行定义,延后执行。不得不佩服Go lang设计者天才的设计,事实上,defer关键字就相当于Python中的try{ ...}except{ ...}finally{...}结构设计中的finally语法块,函数结束时强制执行的代码逻辑,但是defer在语法结构上更加优雅,在函数退出前统一执行,可以随时增加defer语句,多用于系统资源的python学习(字符串的比较、数据结构实战、python函数、全局变量/局部变量、内部函数)
一、字符串的比较 1、Is:两个对象的内存地址,查看内存地址的方法是id() A=1 B=1 Print(id(A)) Print(id(B)) If A is B: Print(‘A and B 内存地址是一样的’) 2、In:包含 Str1=”abc” Str2=”a” If str2 in str1: Print(“str1包含str2”) Else: Print(“str1不包含str2”) 3Python 装饰器
Python 装饰器 假设我们想为已经编写的代码添加额外的功能,例如我们想在一个特殊的 try catch 块中捕获任何错误,我们可以按如下方式进行。 def some_decorator(func): def try_except_block(*args, **kwargs): 尝试: func(*args, **kwargs) 除了例外: 打印(例外) 返[Go] Defer, panic, recover
package main import ( "fmt" ) func recoverFromPanic() { fmt.Println("defer") } func doThings() { defer recoverFromPanic() for i := 0; i < 5; i++ { fmt.Println(i) if i == 2 { panic("NOT 2") // If there is a pagolang sort.Slice用法
func Slice(x interface{}, less func(i, j int) bool) // 第一个形参是:待排序数据 x interface{} // 第二个形参是:排序判断方法 // 形参i 代表后一个元素 // 形参j 代表前一元素 // 返回值:代表i,j是否交换。true:交换,false:不交换。 less func(i, j int) bool demo: package ma