#Golang

Go语言基础:变量声明和初始化

掌握变量的声明和初始化对于编写高效、可读性强的代码至关重要。在本文中,我们详细介绍了Go语言源码文件的组成部分和变量的声明和初始化方式,希望能为读者提供一个清晰的指南,帮助读者更好地理解和运用Go语言的基础知识。

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-cn/2021/09/go-micro-v3%E5%85%A5%E9%97%A8/">https://yingzhou.online/zh-cn/2021/09/go-micro-v3%E5%85%A5%E9%97%A8/</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的特