#Golang

Go語言的第一行代碼

<h3 id="go語言的第一行代碼">Go語言的第一行代碼</h3> <p>前一篇文章我們介紹了為什麼要學習Go語言,本篇文章我們來編寫Go語言的第一行代碼。</p> <p>在編寫代碼之前,我們首先需要安裝Go語言的開發環境,可以從谷歌國內的官方網站golang.google.cn/dl/下載安裝包,根據你使用的操作系統下載對應的安裝包。前一篇文章提到過Go語言是跨平台的,所以Go語言各個平台有

探索Go語言數據類型的奧秘

<h3 id="探索go語言數據類型的奧秘">探索Go語言數據類型的奧秘</h3> <p>Go語言的數據類型可以分為兩個大類,基本數據類型和派生數據類型。</p> <p>基礎數據類型包括:</p> <ol> <li>布爾類型(bool):表示真或假的值,只有兩個取值:true和false。</li> <li>整數類型(int):表示整數值,可以是有符號或無符號的。根據位數不同,可以分

為什麼要學習Go語言

<p>在我們正式開始學習Go語言之前,首先要確認我們的目的,就是為什麼要學習Go語言?學其他編程語言不好嗎?</p> <h3 id="go語言有什麼優勢">Go語言有什麼優勢?</h3> <ol> <li> <p>簡潔和易讀:Go語言的語法設計簡潔,代碼易讀易寫,使得開發者可以更快速地理解和編寫代碼。相對於其他一些編程語言來說,學習曲線較為平緩。</p> </li> <li> <p>高效性:Go語

go語言json解析gjson

<h3 id="go語言json解析gjson">go語言json解析gjson</h3> <p>go語言json解析無論是使用標準庫encoding/json還是第三庫json-iterator,都需要定義 結構體或者map,有的時候我們只想獲取json中的部分值,定義結構體或者map還是比較麻煩的, 這時候我們可以選擇gjson。</p> <p>gjson是一個Go包,它提供了一種從json文

go語言json解析json-iterator

<h3 id="go語言json解析json-iterator">go語言json解析json-iterator</h3> <p>json-iterator是一個高性能100%兼容的"encoding/json"的替代品</p> <p>官方網址:<a href="http://jsoniter.com/">http://jsoniter.com/</a></p> <p>安裝方

go語言處理TCP粘包

<h3 id="go語言處理tcp粘包">go語言處理TCP粘包</h3> <h6 id="tcp粘包是指發送方發送的若干數據包到接收方接收時粘成一包從接收緩衝區看後一包數據的頭緊接著前一包數據的尾">TCP粘包是指發送方發送的若干數據包到接收方接收時粘成一包,從接收緩衝區看,後一包數據的頭緊接著前一包數據的尾。</h6> <p>粘包可能由發送方造成,也可能由接收方造成。</p> <h6 id="

go語言大端模式和小端模式

<h3 id="go語言大端模式和小端模式">go語言大端模式和小端模式</h3> <h6 id="什麼是大端和小端">什麼是大端和小端?</h6> <p>Big-Endian和Little-Endian的定義如下:</p> <ol> <li> <p>Little-Endian就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。</p> </li> <li> <p>Big-Endian

go語言判斷系統是大端存儲還是小端存儲

<h3 id="go語言判斷系統是大端存儲還是小端存儲">go語言判斷系統是大端存儲還是小端存儲</h3> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code

我們為什麼要學習Go語言?為什麼大公司開始採用Go語言

<h3 id="我們為什麼要學習go語言為什麼大公司開始採用go語言">我們為什麼要學習Go語言?為什麼大公司開始採用Go語言</h3> <p>我們在學習一門編程語言之前應該知道為什麼要學習這門編程語言,和做好一件事情一樣,我們應該知道做這件事情的意義,才能在遇到困難時堅持做好這件事。</p> <p>我們為什麼要學習Go語言呢?學習C語言不好嗎,學習Rust語言不好嗎?</p> <p>我們要從Go

go語言網絡編程之TCP Socket

<p>tcp client端代碼tcp_client.go如下:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go"

go語言網絡編程之UDP Socket

<p>udp client端代碼udp_client.go如下:</p> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-go"

go語言基礎內置函數new和make

<h3 id="go語言基礎內置函數new和make">go語言基礎內置函數new和make</h3> <p>go語言中的內置函數make和new都是用作變量的初始化,但是它們初始化變量的方式不同,make返回類型是引用類型,new返回類型是指針類型。</p> <h6 id="內置函數make">內置函數make</h6> <p>內置函數make僅用作分配內存空間並初始化slice,map

go語言基礎方法和接收器

<h3 id="go語言基礎方法和接收器">go語言基礎方法和接收器</h3> <p>在Go語言中有一個概念和函數極其相似叫做方法,Go語言的方法其實是作用在接收者(receiver)上的一個函數,接收者是某種非內置類型的變量,因此方法是一種特殊類型的函數。</p> <h6 id="方法和函數的不同點">方法和函數的不同點:</h6> <ul> <li> <p>函數和方法聲明的方式不同</p>

go語言基礎值傳遞

<h3 id="go語言基礎值傳遞">go語言基礎值傳遞</h3> <h6 id="go語言中只有值傳遞沒有引用傳遞">go語言中只有值傳遞,沒有引用傳遞</h6> <p>值傳遞是指在調用函數時將實際參數複製一份傳遞到函數中,這樣在函數中如果對參數進行修改,將不會影響到實際參數,函數外和函數里對這個參數地址求值應該是不一樣的。</p> <p>引用傳遞是指在調用函數時將實際參數的地址直接傳遞到函數

go語言基礎結構體傳參

<h3 id="go語言基礎結構體傳參">go語言基礎結構體傳參</h3> <p>使用struct關鍵字可以定義一個結構體,結構體中的成員稱為結構體的字段或屬性。</p> <div class="highlight"><pre tabindex="0"

go語言基礎type關鍵字

<h3 id="go語言基礎type關鍵字">go語言基礎type關鍵字</h3> <p>type關鍵字有如下幾種用法:定義結構體,定義接口,類型別名,類型定義,類型查詢</p> <h6 id="1-定義結構體">1. 定義結構體</h6> <p>結構體是由一系列具有相同類型或不同類型的數據構成的數據集合</p> <div class="highlight"><pre tabindex="0"

go語言用tcp實現GET請求

<h3 id="go語言用tcp實現get請求">go語言用tcp實現GET請求</h3> <div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code

go語言獲取公網IP地址

<h3 id="go語言獲取公網ip地址">go語言獲取公網IP地址</h3> <p>這裡採用兩種方式</p> <ol> <li>請求stun server服務器獲取</li> <li>請求 <a href="https://api.ipify.org">https://api.ipify.org</a> </li> </ol> <p>代碼如下:</p> <div

go語言優秀開源項目整理

<h3 id="一web框架">一.Web框架</h3> <p>1.gin</p> <p>項目地址:<a href="https://github.com/gin-gonic/gin">https://github.com/gin-gonic/gin</a> </p> <p>gin 是一個用 Go 語言開發的 Web 框架,提供類 Martini 的 API, 但是性能更好。

go-micro v3入門之hello world

<p>前面一篇文章<a href="https://yingzhou.online/zh-tw/2021/09/go-micro-v3%E5%85%A5%E9%96%80/">https://yingzhou.online/zh-tw/2021/09/go-micro-v3%E5%85%A5%E9%96%80/</a> </p> <p>我們首先安裝一下gomu,Gomu是一個幫助我們開

go-micro v3入門

<p>go-micro是一個基於Go語言編寫的、用於構建微服務的基礎框架,提供了分佈式開發所需的核心組件,包括 RPC 和事件驅動通信等。</p> <p>go-micro框架的一個缺點是從1.0到2.0,在到3.0版本都不兼容,每個版本都有很大的改動。</p> <p>go-micro的3.0版本升級為一個雲原生開發平台,原來的go-micro項目改名字了。</p> <p>雲原生開發平台官網地

基於python和golang的輕量級http服務器的搭建

<p>在移動應用程序開發中,有時候需要測試傳遞到服務器的參數的正確性,這時候可以自己搭建輕量級服務器來解決。</p> <h3 id="1python簡易服務器搭建">1.python簡易服務器搭建</h3> <p>在Python中有很多好用的庫,今天給大家介紹的就是sanic。</p> <p>sanic是一款用python3.5+寫的web framework,用法和flask類似,sanic的特