tag go

標籤
貢獻245
441
05:15 PM · Oct 25 ,2025

@go / 博客 RSS 訂閱

海生 - 《go入門grpc》第三章:從 proto 文件自動生成go代碼

更方便的在微信公眾號閲讀文章可以關注公眾號:海生的go花園 一、安裝protoc以及插件 在第二章,我們介紹了,如何寫一個.proto文件。 當我們有了一個.proto文件,揭曉來,我們就是使用protoc命令編譯.proto文件,生成對應go文件。 1.1 安裝protoc命令 brew install protobuf 1.2 安裝protobuf插件 1.2.1、安裝prot

protobuf , grpc , go

收藏 評論

Aonaufly - Go之鏡像處理

一, 暫時使用國內鏡像 go env -w GOPROXY=https://goproxy.cn,direct 二,恢復使用默認鏡像 go env -w GOPROXY=https://proxy.golang.org,direct 本文包含:--> -->

golang , 遊戲開發 , 鏡像 , go

收藏 評論

程序員小杜 - Golang WaitGroup 底層原理及源碼詳解

0 知識背景 在進入正文前,先對 WaitGroup 及其相關背景知識做個簡單的介紹,這裏主要是 WaitGroup 的基本使用,以及系統信號量的基礎知識。對這些比較熟悉的小夥伴可以直接跳過這一節。 0.1 WaitGroup WaitGroup 是 Golang 中最常見的併發控制技術之一,它的作用我們可以簡單類比為其他語言中多線程併發控制中的 join(),實例代碼如下: package ma

源碼分析 , 原理 , 併發 , go

收藏 評論

JavaGuide - 面試官:為什麼忘記密碼要重置而不是告訴你原密碼?

這是一個挺有意思的面試題,挺簡單的,不知道大家平時在重置密碼的時候有沒有想過這個問題。回答這個問題其實就一句話:因為服務端也不知道你的原密碼是什麼。如果知道的話,那就是嚴重的安全風險問題了。 我們這裏來簡單分析一下。 做過開發的應該都知道,服務端在保存密碼到數據庫的時候,絕對不能直接明文存儲。如果明文存儲的話,風險太大,且不説數據庫的數據有被盜的風險,如果被服務端的相關人員特別是有數據庫權限的惡

加密算法 , hash , JAVA , go , 後端

收藏 評論

7mandy7 - 基於 JIT 技術的開源全場景高性能 JSON 庫

大家好,我是Mandy,上一節我們對Go中的切片數據類型進行了深度的剖析,今天給大家分享一個字節跳動自研開源的JSON數據解析包。一個速度奇快的 JSON 序列化/反序列化庫,由 JIT (即時編譯)和 SIMD (單指令流多數據流)加速。 sonic 是字節跳動開源的一款 Golang JSON 庫,基於即時編譯(Just-In-Time Compilation)與向量化編程(Single In

goroutine , go

收藏 評論

journey - go chan 使用經驗分享

1、帶緩衝 vs 無緩存 1.1、帶緩衝 ch := make(chan int, num) 描述:這是一個 帶緩衝 的通道,緩衝區大小為 1 特性 : 發送數據到通道時,如果緩衝區未滿,發送操作不會阻塞 接收數據時,如果緩衝區不為空,接收操作不會阻塞 緩衝區的大小決定了可以在通道中存儲多少數據而不需要立即被接收 示例 : ch := make(chan int, 1) ch - 42

goroutine , channel , go

收藏 評論

liangwt - 寫給go開發者的gRPC教程-超時控制

本篇為【寫給go開發者的gRPC教程系列】第六篇 第一篇:protobuf基礎 第二篇:通信模式 第三篇:攔截器 第四篇:錯誤處理 第五篇:metadata 第六篇:超時控制 👈 本系列將持續更新,歡迎關注👏獲取實時通知 導言 一個合理的超時時間是非常必要的,它能提高用户體驗,提高服務器的整體性能,是服務治理的常見手段之一 為什麼要設置超時 用户體驗:很多RPC都是由用户側發起,如果

grpc , http-2 , 微服務 , 超時 , go

收藏 評論

alwaysbeta - 使用 Go 語言實現二叉搜索樹

原文鏈接: 使用 Go 語言實現二叉搜索樹 二叉樹是一種常見並且非常重要的數據結構,在很多項目中都能看到二叉樹的身影。 它有很多變種,比如紅黑樹,常被用作 std::map 和 std::set 的底層實現;B 樹和 B+ 樹,廣泛應用於數據庫系統中。 本文要介紹的二叉搜索樹用的也很多,比如在開源項目 go-zero 中,就被用來做路由管理。 這篇文章也算是一篇前導文章,介紹一些必備知識,下一篇再

數據結構 , 算法 , 二叉樹 , go

收藏 評論

江湖十年 - 萬字長文:在 Go 中如何優雅的使用 wire 依賴注入工具提高開發效率?上篇

如果你做過 Java 開發,那麼想必一定聽説或使用過依賴注入。依賴注入是一種軟件設計模式,它允許將組件的依賴項外部化,從而使組件本身更加模塊化和可測試。在 Java 中,依賴注入廣泛應用於各種框架中,幫助開發者解耦代碼和提高應用的靈活性。本文就來介紹下什麼是依賴注入,以及在 Go 語言中如何實踐依賴注入,提高 Go 項目的開發效率和可維護性。 什麼是依賴注入? 正如前文所述,依賴注入(depend

依賴注入 , 效率工具 , wire , go , 後端

收藏 評論

專家一百錦再 - 第8章 模塊系統

文章目錄 第8章 模塊系統 8.1 包、crate和模塊 Rust代碼組織的基本概念 包(Packages) Crate 模塊(Modules) 創建和使用模塊 基本模塊定義 模塊的可見性

redis , 開發語言 , rust , 數據庫 , Android , JAVA , go

收藏 評論

技術博主 - 阿里雲基於 Go 的微服務架構分享 - GopherChina的個人空間 -

在現代互聯網和雲原生環境中,業務系統對高併發、低延遲和快速迭代的要求越來越高。Go語言憑藉輕量級協程(Goroutine)、Channel通信模型、靜態編譯和內置高性能網絡庫,成為構建雲原生微服務和高併發系統的首選語言之一。本文結合實際互聯網項目經驗,從架構設計、服務拆分、併發優化、內存管理、網絡性能調優以及工程化建設等方面,分享Go在高併發環境下的實踐

高併發 , 微服務 , rabbitmq , Css , 前端開發 , go , HTML

收藏 評論

soroqer - unsafe.Pointer 與 uintptr-Golang

unsafe 包提供了繞過類型系統的底層內存操作能力,用於實現高性能、跨語言交互或底層數據結構。其中最核心的類型是 unsafe.Pointer 和 uintptr。 1、任意類型的指針:unsafe.Pointer unsafe.Pointer 是 Go 中唯一可以指向任意類型內存地址的指針類型,類似於 C 語言的 void*。它允許將任意類型的指針轉換為 unsafe.Pointer,並在不同

指針 , go

收藏 評論

良許 - 《C語言電子書-2026最新版》-C語言數據類型概述

大家好,我是良許,一個深耕嵌入式 12 年的老工程師,前世界 500 強高工。 我花了 3 個月時間,寫了一個 C 語言電子書,以非常通俗的語言跟大家講解 C 語言,把複雜的技術講得連小學生都能聽得懂,絕不是 AI 生成那種晦澀難懂的電子垃圾。 點擊此處免費領取 C 語言電子書 C 語言電子書目錄如下: 2.1 C語言數據類型概述 在我們的日常生活中,我們會遇到各種各樣的信息:數字、文字、圖片、

go , 後端

收藏 評論

爆裂Gopher - 淺談Goroutine的調度機制

一、什麼是Goroutine 在go語言中,每一個併發的執行單元叫作一個goroutine,與併發相對的是串行,即代碼按照順序一行一行執行,goroutine 給 go 語言提供了併發編程的能力。 當一個程序啓動時,其主函數在一個單獨的goroutine中運行,我們叫它main goroutine,新的goroutine會用go語句來創建。在語法上,go語句是一個普通的函數或方法調用前加上關鍵字g

調度器 , goroutine , 協程 , gmp , go

收藏 評論

amc - 逆微服務潮流?基於騰訊 tRPC-Go 單體化改造怎麼節省上萬核 CPU

微服務一直以來是服務治理的基本盤之一,落地到雲原生上,往往是每個 K8s pods 部署一個服務,獨立迭代、獨立運維。 但是在快速部署的時候,有時候,我們可能需要一些宏服務的優勢。有沒有一種方法,能夠 “既要又要” 呢?本文基於 tRPC-Go 服務,提出並最終實踐了一種經驗證可行的方法。 本文原文發佈在騰訊內網,隨着騰訊 tRPC 框架 正式開源, 筆者決定將敏感信息脱敏後發佈至外網,也助力 t

grpc , 微服務 , rpc , challenge , go

收藏 評論

amc - 三分鐘, 讓你學會 Go 泛型

Go 自從 1.18 版本正式推出泛型之後至今也超過半年了,但是筆者發現在實際業務開發中,大家沒有如想象中那麼廣泛地使用泛型。於是決定簡單撰一文,儘可能簡單地講解 Go 的泛型代碼的寫法。 Go 泛型的作用 Go 語言在推出之後,要求支持泛型的呼聲就一直不絕於耳。Go 在 1.17 版實驗性地推出,並且在 1.18 正式發佈。泛型要解決的問題以及適用的場景是所謂的 ”DRY“(Don't Repe

泛型 , go

收藏 評論

得物技術 - Go語言在高併發高可用系統中的實踐與解決方案|得物技術

一、引言 隨着互聯網技術的飛速發展,現代系統面臨着前所未有的併發壓力和可用性要求。從電商秒殺到社交媒體直播,從金融交易到物聯網設備接入,系統需要處理百萬級甚至千萬級的併發請求,同時保證99.999%的可用性。在這種背景下,Go語言憑藉其獨特的設計哲學和技術特性,成為了構建高併發高可用系統的首選語言之一。 Go語言自2009年誕生以來,就以 "併發性能優異、開發效率高、部署簡單"等特點受到開發者的青

go

收藏 評論

木的樹 - GO GMP調度實現原理 5w字長文史上最全

1 Runtime簡介 Go語言是互聯網時代的C,因為其語法簡潔易學,對高併發擁有語言級別的親和性。而且不同於虛擬機的方案。Go通過在編譯時嵌入平台相關的系統指令可直接編譯為對應平台的機器碼,同時嵌入Go Runtime,在運行時實現自身的調度算法和各種併發控制方案,避免進入操作系統級別的進程/線程上下文切換,以及通過原子操作、自旋、信號量、全局哈希表、等待隊列多種技術避免進入操作系統級別鎖,以此

調度器 , runtime , 原理 , go

收藏 評論

yinggaozhen - 常用的 Go 框架、庫和軟件中文收錄大全

背景介紹 大多數 Gopher 應該對於 Awesome-go 應該都不陌生。 Awesome-go 是個很優秀的項目,裏面收錄了很多優秀的用 Go 編寫的開源庫、框架、軟件 截至目前,Awesome-go 已經收錄了Web框架、機器學習、分佈式系統、編譯器、物聯網、持續集成等方方面面共計 81 類大項, 1777 個用 Go 編寫的倉庫,很多我們平常開發上所需要的庫都能在上面能找到,為我們省去了

awesome , go

收藏 評論

gvison - Go Web 開發利器:如何讓你的 Gin 服務擁有 Nginx 般的靜態文件處理能力?

前言 做過 Go Web 開發的朋友都知道,Gin 框架雖然在 API 路由處理上性能彪悍,但原生的 Static() 靜態文件服務功能相對基礎。在很多生產場景下,我們通常會習慣性地在 Go 服務前面擋一層 Nginx,專門用來處理靜態資源(JS/CSS/HTML)和緩存控制。 但有些場景下(比如內部工具、單體應用、或者不想維護複雜的 Sidecar 容器),我們希望 Go 服務本身就能像 Ngi

Nginx , gin , go , 後端

收藏 評論

陳明勇 - 一文了解 Go 接口

接口 在 Go 語言中,接口是一種抽象的類型,是一組方法的集合。接口存在的目的是定義規範,而規範的細節由其他對象去實現。我們來看一個例子: import "fmt" type Person struct { Name string } func main() { person := Person{Name: "cmy"} fmt.Println(person) // {

challenge , go , 後端

收藏 評論

徐石頭 - 代碼重構實戰

背景 用户頭像上傳功能中,服務端上傳流程如下: base64解碼成字符串 圖片寫入服務器本地臨時目錄 上傳到阿里雲OSS/七牛雲存儲 圖片審核 代碼如下 type Parms struct { Head string //客户端發送base64字符串 } func Upload(p Params){ if p.Head == ""{ return err

實戰 , 圖片上傳 , 重構 , go

收藏 評論

alwaysbeta - 推薦 10 本 Go 經典書籍,從入門到進階(含下載方式)

書單一共包含 10 本書,分為入門 5 本,進階 5 本。我讀過其中 7 本,另外 3 本雖然沒讀過,但也是網上推薦比較多的。 雖然分了入門和進階,但是很多書中這兩部分內容是都包含了的。大家看的時候可以根據自己的情況,先打好基礎,再進行進階。 有的書是開源的,可以直接在線閲讀,有的有電子書,大家可以在這裏 GitHub 找到下載方式。如果條件允許的話,買正版是最好的。 入門 《Go語言趣學指南》

程序員書籍 , 書單 , 編程語言 , 書籍 , go

收藏 評論

Hunter - Golang基礎筆記四之map

本文首發於公眾號:Hunter後端 原文鏈接:Golang基礎筆記四之map 這一篇筆記介紹 Golang 裏 map 相關的內容,以下是本篇筆記目錄: map 的概念及其聲明與初始化 map 的增刪改查 map 的遍歷 1、map 的概念及其聲明與初始化 map,即映射,是 Golang 裏無序鍵值對的集合。 以下是創建 map 的兩種方式。 1. 使用 make 的方式創建

map , go , 後端

收藏 評論