avatar
文章
876
标签
85
分类
13
首页
归档
标签
友链
代表作品
量化套利
关于
TagoTago开发手记
搜索
首页
归档
标签
友链
代表作品
量化套利
关于

Tago · 开发手记

Go 语言中的下划线( `_`)
发表于2019-10-20|编程语言
在 Go 语言中,下划线(_)具有特殊的含义和用途。它被称为“空白标识符”,主要用于丢弃不需要的值。以下是一些常见的用法和示例。 1. 丢弃不需要的值在接收多个返回值的函数中,如果您只关心某些返回值,可以使用下划线来丢弃不需要的值。 示例package mainimport ( "fmt")func getValues() (int, int) { return 42, 99}func main() { a, _ := getValues() // 丢弃第二个返回值 fmt.Println(a) // 输出:42} 2. 忽略导入的包在导入包时,如果您只想执行包中的初始化代码,而不使用包中的任何标识符,可以使用下划线。 示例package mainimport ( _ "github.com/lib/pq" // 导入但不使用)func main() { // 这里可以使用 pq 包的初始化代码} 3. 作为占位符在某些情况下,...
在 Mac 上升级到 Go 1.18 的步骤
发表于2019-10-16|网络安全
如果您希望在 Mac 上升级到 Go 1.18,可以按照以下步骤进行操作: 1. 检查当前 Go 版本在终端中运行以下命令,检查当前安装的 Go 版本: go version 2. 卸载旧版本(可选)如果您是通过 Homebrew 或直接下载的方式安装的 Go,建议先卸载旧版本。 使用 Homebrew 卸载如果您是通过 Homebrew 安装的,可以使用以下命令卸载: brew uninstall go 手动卸载如果您是手动安装的,您可以删除 Go 目录(通常在 /usr/local/go): sudo rm -rf /usr/local/go 3. 下载 Go 1.18前往 Go 的官方网站下载 Go 1.18 的安装包: Go Downloads 选择适合 macOS 的版本(通常为 .pkg 文件)。 4. 安装 Go 1.18 双击下载的 .pkg 文件,按照提示完成安装。 5. 验证安装安装完成后,在终端中运行以下命令,确认 Go 已成功升级: go version 您应该看到输出类似于: go version go1.18 darwin/amd64 ...
Go 语言中的数组、切片和关联数组(Map)示例
发表于2019-10-15|编程语言
Go 语言提供了多种数据结构以满足不同的需求。本文将介绍数组、切片(Slice)和关联数组(Map),并提供简单的示例代码。 1. 数组数组是固定长度的集合,元素类型相同。数组的长度是数组类型的一部分。 示例代码package mainimport "fmt"func main() { // 声明一个数组 var arr [5]int // 初始化数组 arr[0] = 1 arr[1] = 2 arr[2] = 3 arr[3] = 4 arr[4] = 5 // 输出数组 fmt.Println("数组:", arr) // 声明并初始化数组 arr2 := [3]string{"apple", "banana", "cherry"} fmt.Println("数组2:", arr2)} 2. 切片(Slice)切片是对数组的抽象,可以...
Golang 中 new 和 make 区别
发表于2019-10-11|编程语言
Golang 中 new 和 make 的区别在 Go 语言中,new 和 make 都用于分配内存,但它们的用途和返回值有所不同。下面将详细介绍这两者的区别。 1. new 函数new 是一个内置函数,用于分配内存并返回指向该内存的指针。它的主要用途是为值类型(如结构体、数组等)分配内存。 特点 返回值:new 返回的是指向类型的指针。 内存分配:它分配的内存是零值,意味着分配的内存中的字段都是类型的默认值。 用法:通常用于分配基本类型的指针或结构体。 示例代码type Person struct { Name string Age int}func main() { p := new(Person) // p 的类型是 *Person p.Name = "Alice" p.Age = 30 fmt.Println(p) // 输出:&{Alice 30}} 2. make 函数make 是另一个内置函数,用于创建和初始化切片(slice)、映射...
Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with `--enable-openssl`
发表于2019-10-10|踩坑教训
Fatal error: Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with --enable-openssl to support SSL connection when compiling Swoole在使用 Swoole 进行协程 HTTP 客户端操作时,您可能会遇到如下错误: Fatal error: Uncaught Swoole\Coroutine\Http\Client\Exception: you must configure with `--enable-openssl` to support ssl connection when compiling Swoole 这个错误提示说明您的 Swoole 扩展在编译时未启用 SSL 支持。下面将介绍如何解决这个问题。 1. 确认 Swoole 版本首先,确认您当前使用的 Swoole 版本。可以通过以下命令查看: php --ri swoole 2. 检查 OpenSSL 是否安装在编译 Swoole 时,需要确保...
事务提交失败 : Deadlock found when trying to get lock; try restarting transaction
发表于2019-10-09|踩坑教训
在数据库管理系统中,死锁(Deadlock)是指两个或多个事务在执行过程中,因争夺资源而造成的一种相互等待的现象。本文将探讨这个问题的成因、识别方法以及解决方案。 1. 什么是死锁?死锁发生在两个或多个事务在同时运行时,彼此等待对方释放锁,导致系统无法继续执行。这通常会导致事务失败,抛出错误信息: Deadlock found when trying to get lock; try restarting transaction 2. 死锁的常见原因 资源争用:多个事务同时请求相同的资源。 锁的顺序:事务以不同的顺序请求锁,导致循环等待。 长时间持有锁:事务在持有锁的情况下执行较长时间,增加了其他事务等待的机会。 3. 识别死锁可以通过以下方法识别死锁: 3.1 错误日志检查数据库的错误日志,通常会记录死锁的详细信息,包括涉及的事务和锁。 3.2 使用查询在 MySQL 中,可以使用以下命令查看当前的锁和事务状态: SHOW ENGINE INNODB STATUS; 该命令会输出当前 InnoDB 引擎的状态信息,包括死锁的详细描述。 4. 避免死锁4.1 事务设计 ...
PHP 判断对象是否为空的方法
发表于2019-10-07|编程语言
在 PHP 中,判断一个对象是否为空可以通过几种方法实现。空对象通常是指没有属性或属性值为 null 的对象。以下是一些常用的方法来判断对象是否为空。 1. 使用 empty() 函数empty() 函数可以用于检查对象是否为空。它会返回 true 如果对象为 null 或没有任何属性。 示例代码$object = new stdClass(); // 创建一个空对象if (empty((array)$object)) { echo "对象为空";} else { echo "对象不为空";} 2. 使用 count() 函数将对象转换为数组后,可以使用 count() 函数来判断对象是否有属性。 示例代码$object = new stdClass(); // 创建一个空对象if (count((array)$object) === 0) { echo "对象为空";} else { echo "对象不为空&q...
踩坑 IPV6 mysql ip chat(15) 引发bug
发表于2019-10-06|踩坑教训
看标题应该就明白了Mysql 设计的 IP 存储字段 chat(15) 太短了, 存IPv4还ok, 存IPV6 就截断了. 增加IP 字段长度即可解决Bug
使用 Supervisor 进行进程监控
发表于2019-10-05|其他
Supervisor 是一个进程管理工具,允许用户监控和控制多个进程。它适用于 UNIX/Linux 系统,特别是在需要管理多个后台任务时非常有用。 1. Supervisor 概述 功能:可以启动、停止、重启和监控进程。 配置:通过配置文件定义要管理的进程。 WEB 界面:提供 Web 界面来监控进程状态。 2. 安装 Supervisor在 Ubuntu 或 Debian 系统上,可以使用以下命令安装: sudo apt updatesudo apt install supervisor 在 CentOS 或 RHEL 系统上: sudo yum install epel-releasesudo yum install supervisor 3. Supervisor 配置文件Supervisor 的主要配置文件通常位于 /etc/supervisor/supervisord.conf。可以在此文件中设置全局选项和进程配置。 3.1 创建进程配置创建一个新的配置文件,例如 /etc/supervisor/conf.d/myprogram.conf,内容如下...
AC自动机 算法详解及模板
发表于2019-10-04|其他
AC 自动机(Aho-Corasick 自动机)是一种用于多模式字符串匹配的高效算法。它结合了 Trie 树和 KMP 算法的思想,能够在 O(n + m + z) 的时间复杂度内完成字符串匹配,其中 n 是文本长度,m 是所有模式串的总长度,z 是匹配结果的数量。 1. AC 自动机的基本思想AC 自动机主要由以下几个部分组成: Trie 树:用于存储所有的模式串。 失败指针:用于处理不匹配的情况,类似于 KMP 算法中的部分匹配表。 输出函数:用于记录匹配的模式串。 2. AC 自动机的构建步骤2.1 插入模式串首先,我们构建一个 Trie 树,将所有要匹配的模式串插入到树中。 输入模式串: "he", "she", "his", "hers"Trie 树结构: root / \ h s / \ e h / \ i e / ...
1…474849…88
avatar
Leon
技术、实践与记录
文章
876
标签
85
分类
13
公告
记录技术实践,分享学习与思考。
最新文章
Okx合约量化套利开发心得
Okx合约量化套利开发心得2026-10-08
币安衍生品与 TradFi 业务全景
币安衍生品与 TradFi 业务全景2026-10-04
币安指数玩法拆解
币安指数玩法拆解2026-10-03
币安外汇玩法拆解
币安外汇玩法拆解2026-10-03
币安大宗商品玩法拆解
币安大宗商品玩法拆解2026-10-03
最新评论
加载中...
分类
  • Ai9
  • Nginx44
  • 产品16
  • 其他54
  • 协议69
  • 容器13
  • 技术1
  • 操作系统112
标签
kali VM NVDA websocket 做市 Tcp ClickHouse jwt 需求优先级 ssl 币安 swoole 代理 golang 网络安全 跨域 埋点 交互设计 AES Docker 量化理财 产品基础 php 用户体验 protobuf linux 代币化股票 股票代币化 yum 金融交易 WebAuthn TradFi 导航设计 shell centos oa 正则 vim 指数 curl
归档
  • 十月 2026 5
  • 九月 2026 5
  • 八月 2026 13
  • 七月 2026 7
  • 六月 2026 4
  • 五月 2026 5
  • 四月 2026 10
  • 三月 2026 6
网站信息
文章数目 :
876
运行时间 :
最后更新时间 :
© 2015 - 2026 By Leon框架 Hexo 8.1.2|主题 Butterfly 5.7.0
Tago · 开发手记
搜索
数据加载中