ziheng's Blog

zihengCat is here!

萌新 DT 复盘笔记 - 2021.07.27

Day Trader Beginner's Retrospect - 2021.07.27

开篇碎碎念以滴滴被七部委联合入驻调查、教育《双减》文件靴子落地这两起事件为导火索,引发了全球投资者对中概股市场价值和中国政策环境的深深忧虑,情绪反映到股价上:滴滴股价腰斩,中概教育股跌穿,中概股整体几日连跌。在市场情绪稳定之前,中概股们的表现恐怕都不会太乐观。 大市行情2021年7月27日,七月最后一周的周二,美股录得六个交易日以来的首次下跌,道琼斯工业指数跌 0.24%,纳斯达克综合指数跌......

LeetCode - 409. 最大可构建的回文串

LeetCode - 409. Longest Palindrome

前言本文记录LeetCode - 409. 最大可构建的回文串问题。 描述给出一枚包含英文大小写字符的字符串s,请使用该字符串包含的字符构建回文串,返回最大可构建回文串的长度。 字符区分大小写,例如:Aa不被认为是回文串。 输入:s = "abccccdd" 输出:7 解释: 其中一枚最大可构建的回文串是"dccaccd",最大可构建回文串的长度为7。......

Go 传递切片入参的隐藏风险

The Hidden Crisis in Passing Slice as Function Argument

Go 切片数据结构Go 中常用的切片(Slice)数据结构是一枚动态数组,提供方便的局部索引功能,切片长度并不固定,并且会在容量不足时自动扩容。 切片实质上是对一个底层数组的抽象视图,由 Go 运行时维护。在运行时,切片由如下的SliceHeader结构体表示,其中Data字段是指向底层数组的指针,Len表示当前切片的长度,而Cap表示当前切片的容量,也就是Data数组的大小。 type S......

Go 范围迭代(Range)示例与解释

Go Range Loop Examples and Explanation

Go 语言 Range 范围迭代Go 语言提供了一种经典for循环以外的集合数据迭代方式:Range 范围迭代,使用关键字range表示,其等同于其他程序设计语言中的forEach迭代。范围迭代range可应用于多种 Go 内置数据结构:字符串、数组、切片、哈希表、通道。 数组 / 切片Go 范围迭代range应用于数组/切片时,可以获取数组/切片的索引与对应元素值。以下代码示例展示了使用r......

Go 数据类型 SQL 映射

Go SQL Data Types Mapping

Go SQL(MySQL) int8 tinyint int16 smallint int32 integer int64 bigint uint8 tinyint unsigned uint16 smallint unsigned uint32 integer unsigned uint64 bigint unsigned float32 flo......

Go 语言变量 / 运算符 / 数据类型概览

Overview of Data Types, Variables, Operators in Go

Go 源码文件命名规范Go 源代码文件以.go后缀名结尾,文件名通常为英文小写字母组合,文件名过长则通常使用下划线_作为英文单词之间的分隔符,Go 源码文件名不能包含空白符、特殊字符。 Go 关键字Go 被开发团队期望设计为一门简单易懂的语言,目前 Go 关键字只有 25 个,具体如下。 图:Go 关键字 Go 预定义标识符除了 25 枚关键字外,Go 还设置了一些预定义标识符,包含变......

搭建 Go 开发环境

Build Go Development Environment

Go 支持的操作系统与处理机架构Go 被设计为一门支持多平台多处理机架构的程序设计语言,开发团队与开源社区维护着多个平台不同架构的 Go 编译工具链,使用 Go 编写的应用程序可以无缝或以极小的成本在不同平台不同架构之间进行迁移。 下图展示了目前 Go 支持的操作系统与处理机架构,使用go tool dist list可以输出当前安装 Go 版本所支持的操作系统与架构。 图:Go 支持的......

Go 语言的起源与发展

Origin and Evolution of Go

Go 语言简介 Go(有时也被称为:Golang)是一门新兴的程序设计语言,诞生于 2007 年,并于 2009 年正式对外发布。Go 是一门开源的程序设计语言,其初衷是为了让开发者可以更为方便地开发简单、可靠、高效的应用软件。Go 是一门静态类型编译型语言,静态类型意味着变量类型需要显式声明并在编译时刻确定,编译型语言则意味着程序执行前需要将源代码编译为平台相关的二进制机器码。Go 项目的......

Microsoft Azure Service Bus Overview

Microsoft Azure Service Bus 概览

Introduction to Message QueueMessage queue is a form of asynchronous service-to-service communication mostly used in microservices architectures. Messages are stored on the queue until they are pro......

macOS 小技巧 - 提高按键连续输入速率

Increase Keyboard Repeat Rate on macOS

前言使用苹果计算机(Macintosh)进行日常开发的程序员们可能会感觉到 macOS 系统的长按输入响应与光标移动速度有些迟缓,即便是修改了System Preferences >> Keyboard中关于按键输入的系统配置项,也还是不尽如人意。 实际上,我们还有更巧妙的方法可以提高 macOS 按键连续输入速率。 图:System Preferences >>......