Go通关05:函数和方法的不同之处!

博主头像 函数 函数声明 func funcName(params) result { body } 关键字 func 用于声明一个函数 funcName 函数名 params 函数的参数 result 是函数的返回值,可以返回多个返回值,如果没有可以省略。 body 函数体 示例 1. a、b形参类型一致, ...

编程练习-找零钱

老村长在村口支了一个西瓜摊卖西瓜,规定每人只能买一个瓜,一个瓜5元。 村民们手里有5元,10元,20元币值的钱。 拿5元买瓜,不用找零。 拿10元买瓜,需要找零5元。 拿20元买瓜,需要找零15元。 请写出一个函数,检查老村长能否对排队买瓜的所有人找零钱,如果能,返回true,否则,返回false。 ...

前后端数据交互利器--Protobuf

博主头像 Protobuf 介绍 Protocol Buffers(又名 protobuf)是 Google 的语言中立、平台中立、可扩展的结构化数据序列化机制。 https://github.com/protocolbuffers/protobuf 简而言之,Protobuf 是 Google 开源的一款用 ...

内网穿透方案

内网穿透通道 项目地址:https://gitee.com/arthurhong7/gotunnel.git 研究背景 有多个内网服务应用与一个外网应用,需要通过外网应用开放多个内网服务给外网使用,需要集成内网穿透通道代码。 要求 支持TCP、HTTP、WS请求 支持高并发 基本架构 gotunne ...

go反射原理

博主头像 go反射原理 本文基于go1.13.15 1.go汇编 1.1 基本语法 go采用plan9的汇编器完成汇编,有下面几个重要的伪寄存器 FP: Frame pointer: 局部变量访问 PC: Program counter: 程序计数器 SB: Static base pointer: 全局变量 ...

Go LRU Cache

博主头像 目录 1. LRU Cache 2. container/list.go 2.1 list 数据结构 2.2 list 使用例子 3. transport.go connLRU 4. 结尾 正文 1. LRU Cache package cache import ( "container/list" ...

golang拾遗:内置函数len的小知识

博主头像 len是很常用的内置函数,可以测量字符串、slice、array、channel以及map的长度/元素个数。 不过你真的了解len吗?也许还有一些你不知道的小知识。 我们来看一道GO101的题目,这题也被GO语言爱好者周刊转载: package main import "fmt" func main ...

Go 语言最佳实践

1. 指导原则a) 简单性b) 可读性c) 生产力 2. 标识符a) 选择标识符是为了清晰,而不是简洁b) 标识符长度c) 上下文是关键d) 不要用变量类型命名你的变量e) 使用一致的命名方式f) 使用一致的声明样式g) 成为团队合作者 3. 注释a) 关于变量和常量的注释应描述其内容而非其目的b) ...

Golang精编面试100题

01.Golang精编100题:选择题1 02.Golang精编100题:选择题2 03.Golang精编100题:选择题3(类型转换与断言问题) 04.Golang精编100题:选择题4(常量的合法类型) 05.Golang精编100题:选择题5 06.Golang精编100题:选择题6(值类型与 ...

Golang网络编程实战

1. 开张课、课程内容、说下反向代理 2. 复习课 利用协程创建两个测试web服务 3. 最简单的请求 转发 、httpclient初步使用 4. 补充课 在httpserver中实现Basic Auth的认证和解析 5. 让我们的 反向代理 支持Basic Auth验证框弹出 6. 让我们的 反向 ...

20天学会go语言视频教程

第1天 day01-01 为什么要学习Go day01-02 课上所用物料介绍 day01-03 安装Go开发包 day01-04 配置GOPATH day01-05 Go项目目录结构介绍 day01-06 安装VSCode编辑器 day01-07 编写第一个Go语言程序 day01-08 变量声明 ...

Vs code配置Go语言环境-Mac

博主头像 背景:最近受朋友介绍,学习Go语言。那么开始吧,首先从配置环境开始。 电脑:Mac Air,Vs code已经安装 一、Go下载和安装 下载地址:https://golang.google.cn/dl/ Mac版选择pkg,下载就可以直接安装了。其他类似操作,具体也可查找相关信息 二、验证版本 命令 ...

流媒体服务新手入门教程01--什么是流媒体服务及m7s介绍

博主头像 什么是流媒体服务? 流媒体是指采用流式传输的方式传播多媒体文件。比如现在常见的直播应用抖音、快手以及视频网站,它们的背后都是流媒体服务支撑着。 和播放硬盘上的视频文件不同,流媒体在播放前不会下载整个文件,只是将当前数据发送给客户端。流媒体数据流随时传送随时播放,只是在开始时有些延迟,至于如何减少延迟 ...

有1、2、3、4个数字,能组成多少个互不相同 且无重复数字的三位数?都是多少?

博主头像 前言 今天看到一个超级简单的算法题,但是我当时思路往递归,逐级筛选里面想了。结果百度查查答案,超级简单。 真是惭愧惭愧,不过我还是坚持用递归实现了,因为用递归的方案,可以适用于任何给定数据和指定位数。 传统解法 如下所示,因为题目是找1、2、3、4组合的三位数,因此可以用三重循环,遍历所有组合,筛选 ...

1.2 内置类型和函数

一、内置类型 1.值类型 布尔类型 bool 有符号整数型 int(32 or 64) int8 取值范围:-128 to 127 int16 取值范围:-32768 to 32767 int32 取值范围:-2147483648 to 2147483647 int64 取值范围:-92233720 ...

1.1 Go特征

一、命名规则 Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则: 1)首字符可以是任意的Unicode字符或者下划线 2)剩余字符可以是Unicode字符、下划线、数字 3)字符长度不限 Go有25个关键字 break default func interface se ...

根据使用者反馈,对开源项目 go-gin-api 新增两个功能

博主头像 前言 根据使用者的反馈,对开源项目:go-gin-api 新增两个小功能。 两个小功能都与语言包有关: 功能1:接口返回的错误信息支持中英文; 功能2:参数验证的错误信息支持中英文; 我的实现方式是在项目安装的时候,选择 语言,然后项目中根据选择的语言进行输出对应的中英文,如下图。 接口返回的错误信 ...

Golang中的空字符,似花不是花

博主头像 最近在Linux下开发Go程序,发现一个奇怪的问题,在读取Linux系统信息时读到了空字符,导致了程序异常。在ASSIC中十六进制0为字符NUT,表示为空字符NULL。但这个字符在不同的编程语言、不同的运行环境中却有着不一样的呈现,如果换一个角度看,空字符也就是无字符也就能解释ASSIC空字符没有显 ...

123···17>