函数ioutil 1.6 go
深入理解Go语言中的sync.Cond
1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
自己动手从零写桌面操作系统GrapeOS系列教程——16.封装打印字符串函数
学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们向屏幕打印字符串“GrapeOS”用了十几行汇编代码,如果要输出的字符比较多,这种方法太繁琐了。本讲我们将打印字符串封装成一个函数,使用时就方便多了。 一、mbr7.asm mbr7.asm代码如下: org 0x7c00 ;如果 ......
一文吃透 Go 内置 RPC 原理
hello 大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第三篇,依旧分析 Http 模块。我们今天来看 Go内置的 RPC。说起 RPC 大家想到的一般是框架,Go 作为编程语言竟然还内置了 RPC,着实让我有些吃鲸。 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这 ......
看看CabloyJS是如何异步加载并执行go wasm模块的
CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ......
不会用“函数选项模式”的朋友看过来,这么写很优雅
由浅入深的讲解了下实例对象初始化一般写法和高阶写法。用好这个高阶写法(函数选项模式),让代码更优雅。还不会使用的Gopher,赶紧学起来,用起来。 ......
【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群
🎈 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公司斗智斗勇,还要时时刻刻都要跟 openai 公司打游击,真的是很难有一个稳定的版本供大家屡试不爽 在不断的游击战中,我们也是越战越勇,在磨练中,技术越来越完善,体验也 ......
最近写了一个demo,想看看java和go语言是怎么写的
最近写了一个demo:demo的github地址 一. 简单介绍 1. Server端 它是一个WebApi服务,把它当成一个黑盒就行了。 2. MiddleServer端 是重点,它是一个WebApi服务,包含一个GetValues接口和一个Query2接口。 Query2接口是一个简单的接口。 ......
【基数排序算法详解】Java/Go/Python/JS/C不同语言实现
说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ......
【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现
【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( ......
【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现
【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现
简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 ......
Go内存管理逃逸分析
1. 前言 所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。 函数中申请一个新的对象 如果分配在栈中, 则函数执行结束后可自动将内存回收 如果分配在堆中, 则函数执行借宿可交给GC(垃圾回收)处理 有了逃逸分析,返回函数局部变量将变得可能,除此之外, ......
Go构建遇到cgo动态库时解决方案
1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
AI来实现代码转换!Python转Java,Java转Go不在话下?
今天看到个有趣的网站,给大家分享一下。 该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。 工具的使用也很简单,只需要在左侧黏贴你想转换的原始代 ......
CSS 数学函数与容器查询实现不定宽文本溢出跑马灯效果
在许久之前,曾经写过这样一篇文章 -- 不定宽溢出文本适配滚动。我们实现了这样一种效果: 文本内容不超过容器宽度,正常展示 文本内容超过容器的情况,内容可以进行跑马灯来回滚动展示 像是这样: 但是,之前的方案,有一个很明显的缺点,如果我们事先知道了容器的宽度,那么没问题,但是如果没法确定容器的宽度, ......
巧用 CSS 变量,实现动画函数复用,制作高级感拉满的网格动画
本文将介绍一种基于 CSS 变量技巧,通过合理使用 CSS 变量,实现 CSS 动画 @keyframes 的复用。 CSS 变量 CSS 变量大家应该都比较熟悉了,已经不能算是新知识了,快速过一遍。 CSS 变量(CSS Variable),在之前也叫做 CSS 自定义属性,其使用方式如下: // ......
使用go的并发性来解决Hilbert酒店问题
译自:Designing for Concurrency: the Hilbert’s Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题。本文比较有意思的是它对问题的描述很吸引人,在看完文字描述之后,代码实现逻辑也基本顺理成章,当然代码本身的实现也相当优雅。 ......
为什么 Go 语言 struct 要使用 tags
原文链接:为什么 Go 语言 struct 要使用 tags 在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可以有不同的类型和名称。 除了这些基本信息之外,Go 还提供了 struct tags,它可以用来指定 ......
函数式编程:Lambda 表达式
函数式编程:Lambda 表达式 每博一文案 曾经读过的依然令我感动的句子,生活总是不如意,但往往是在无数痛苦中,但往往是在无数痛苦中,在重重矛盾 和艰难中才能成熟起来,坚强起来,爱情啊,它使荒芜变成繁荣,平庸变得伟大,使死去的复活,活着的闪闪发光, 即使爱情是不尽的煎熬折磨,像冰霜般严厉,烈火般烤 ......
一文看懂 Python 中的函数参数
函数定义中的参数也就是形式参数,规定了在调用函数时如何传递实际参数以及这些参数有无默认值。 实参传递方式 def f(a): print(a) 实参传递方式有两种,位置和关键字。对于上面定义的函数 f,形如 f(1) 这种调用是通过位置的方式传参,形如 f(a=1) 这种调用是通过关键字的方式传参, ......
函数式编程:Flutter&Dart中的组合
本文翻译自: Composition in Flutter & Dart 在 Flutter & Dart 中使用组合创建模块化应用程序。 什么是组合? 在dictionary.com 中 composition 的定义为:将部分或者元素组合成一个整体的行为。简单说,组合就像堆乐高积木,我们可以将积 ......
立即执行函数在前端国际化方案中的应用
说起国际化,开发过跨区域网页的小伙伴应该都遇到过。我们的网页需要配置多套语言,方便用户进行切换。 本文就以 React 为例,介绍其中一种实现方案,并学习一下其中的知识点。 一种国际化方案 方案是这样的: 为多套语言创建对应的 object,并 export 出去 通过 js 立即执行函数,加载选定 ......
Typescript 回调函数、事件侦听的类型定义与注释--拾人牙慧
实际项目中会运到的 Typescript 回调函数、事件侦听的类型定义,如果刚碰到会一脸蒙真的,我就是 这是第一次我自己对 Typescript 记录学习,所以得先说一下我与 Typescript 的孽缘 记得最早是在2014年遇上 Typescript 当时是完全看不上这东西的,甚至带着鄙视的心态 ......
理解JS函数之call,apply,bind
前言 在 JavaScript 中,apply、bind 和 call 是三个重要的函数,它们都是 Function.prototype 的方法。这些函数可以让我们动态地改变函数的 this 值,或者传递参数来执行函数。本篇博客将详细介绍 apply、bind 和 call 的使用方法以及它们之间的 ......
kubernetes client-go功能介绍
原文地址 https://haiyux.cc/2023/02/26/k8s-client-go/ client-go是什么? client-go是Kubernetes官方提供的Go语言客户端库,用于与Kubernetes API服务器交互。使用client-go,您可以编写Go语言程序来创建、修改和 ......
Python3中的“加和”函数
如果我们遇到[[1],[2,3],[4,5,6]]这样的一个python列表,想把他展平为一个一维的列表,这个时候你会使用什么样的方法呢?for循环?while循环?其实python的内置函数sum中简单的支持了一下这样的功能,使得我们可以更加简便的把一个高维且长度不固定的列表展平为一个规则的一维列... ......
go语言面试
go面试 基础 = 和 := 的区别? **Go语言中,= 操作符用于赋值,而 := 操作符可以用于声明及赋值。 Go 语言支持短变量声明(针对局部变量),以 := 为标志,这里要注意的是,Go 语言中会优先选择 :=,而不是 =,但在赋值的情况下,两者的效果是相同的。 ** Go语言中, = 和 ......
【Go并发编程】Goroutine的基本使用
goroutine是什么 goroutine即协程,使用go关键字开启一个协程异步执行代码。 注意,main函数也是个goroutine。 基本使用 使用go执行子任务,会交替执行(和时间片一样)。 主goroutine退出后,其它的工作goroutine也会自动退出(有点父子进程的感觉): pac ......
JavaScript 高阶函数
JavaScript 中的高阶函数是一种接受函数作为输入或返回函数作为输出的函数。高阶函数可以用于创建抽象概念,例如柯里化、组合和管道。 ......
js函数中的this指向
写代码的时候遇到这个问题了,在这里复习一下 2023.3.09:忽然发现写的有点绕口,再总结一下,普通函数this指向调用他的那个对象(动态的,this不是一定的),箭头函数this指向其父级作用域上下文(静态的,定义时就确定) 大家可以自己试一试,有问题随时交流 非箭头函数 非箭头函数的this指 ......