Go 字符串处理使用 Rune
当在 Go 字串中索引位置 `n` 时,为什么没有得到第 `n` 个字元?相较于其他程式语言一串文字在遍历时会预期拿到单一个字符,在 Go 会拿到「Rune」;如果直接透过索引取得 string 内容会拿到 byte。透过实际解 Codewars 题目了解处理字串要留意的东西
当在 Go 字串中索引位置 `n` 时,为什么没有得到第 `n` 个字元?相较于其他程式语言一串文字在遍历时会预期拿到单一个字符,在 Go 会拿到「Rune」;如果直接透过索引取得 string 内容会拿到 byte。透过实际解 Codewars 题目了解处理字串要留意的东西
當在 Go 字串中索引位置 `n` 時,為什麼沒有得到第 `n` 個字元?相較於其他程式語言一串文字在遍歷時會預期拿到單一個字符,在 Go 會拿到「Rune」;如果直接透過索引取得 string 內容會拿到 byte。透過實際解 Codewars 題目了解處理字串要留意的東西
When interacting with MongoDB, I encountered unfamiliar syntax in Struct fields. This article explores why Go Struct Tags exist and the problems they solve.
最近在与 MongoDB 互动时发现 Struct 栏位结尾有一段语法不是很熟悉,这篇文章探讨 Struct Tag 存在的原因以及解决什么问题。与其命令式的操纵资料,透过宣告式的方式来描述资料格式是 Struct Tag 的主要用途。
最近在與 MongoDB 互動時發現 Struct 欄位結尾有一段語法不是很熟悉,這篇文章探討 Struct Tag 存在的原因以及解決什麼問題。與其命令式的操縱資料,透過宣告式的方式來描述資料格式是 Struct Tag 的主要用途。
Goroutine 是由 Go 語言本身管理的輕量級執行緒(User-space Thread),而不是由作業系統管理的執行緒(OS Thread)。背後使用 M:N 排程模型。這意味著,M 個 Goroutine 會被分配到 N 個作業系統執行緒(OS Threads)上執行。
Symmetric encryption uses the same key for encryption and decryption by both parties, posing risks such as key sharing and interception
「对称加密」就是通讯双方进行加密与解密使用相同的金耀,但除了双方都要保守金钥外,怎么让双方都持有相同的金钥本身就是个问题,存在被劫持的风险(中间人攻击)。 「非对称加密」透过一对金钥(Key Pair),也就是公钥与私钥来解决对称加密会遇到的问题。
「對稱加密」就是通訊雙方進行加密與解密使用相同的金耀,但除了雙方都要保守金鑰外,怎麼讓雙方都持有相同的金鑰本身就是個問題,存在被劫持的風險(中間人攻擊)。「非對稱加密」透過一對金鑰(Key Pair),也就是公鑰與私鑰來解決對稱加密會遇到的問題。
In Go, there are two common data structures for "sequence data": Array and Slice. They are similar in syntax, but the differences in behavior.
在 Go 语言中,有两种常见的资料结构可用于表示「序列资料」:Array 与 Slice。这两者在语法上相似,但背后行为与使用情境差异非常关键。简单来说,Array 是固定长度(Static Array),而 Slice 是动态长度(Dynamic Array)。
在 Go 語言中,有兩種常見的資料結構可用於表示「序列資料」:Array 與 Slice。這兩者在語法上相似,但背後行為與使用情境差異非常關鍵。簡單來說,Array 是固定長度(Static Array),而 Slice 是動態長度(Dynamic Array)。
My recent work involves migrating GitLab to GitHub, Fortunately, GitLab has had a feature called Mirroring for a long time.
近期工作上计划将 GitLab 迁移到 GitHub,但光是腾出时间进行专案迁移就感觉很麻烦,也因此很多计画被耽搁着,像是建构 CI 自动化测试环境、导入 AI 代码审核。幸好 GitLab 很早就有一项功能叫做 Mirroring。
近期工作上計劃將 GitLab 遷移到 GitHub,但光是騰出時間進行專案遷移就感覺很麻煩,也因此很多計畫被耽擱著,像是建構 CI 自動化測試環境、導入 AI 代碼審核。幸好 GitLab 很早就有一項功能叫做 Mirroring。