GO 实战基础
文章平均质量分 58
GO系列的实战基础
菜鸟实战
热爱编程实战
展开
-
【Go实战基础】gin 如何自定义和使用一个中间件
实战场景: gin 如何自定义和使用一个中间件gin 路由结构体结构体参数绑定http 状态码原创 2022-06-20 19:30:17 · 752 阅读 · 8 评论 -
【Go实战基础】gin 如何验证请求参数
gin 路由结构体结构体参数绑定参数验证http 状态码原创 2022-06-20 10:46:19 · 1482 阅读 · 4 评论 -
【Go实战基础】gin 高效神器,如何将参数绑定到结构体
gin 路由结构体结构体参数绑定http 状态码原创 2022-06-19 21:37:10 · 1342 阅读 · 16 评论 -
【Go实战基础】gin 如何获取 GET 和 POST 的请求参数
gin 路由http 状态码获取 GET 请求参数获取 POST 请求参数获取 POST Form 请求参数原创 2022-06-19 07:00:00 · 6591 阅读 · 1 评论 -
【Go实战基础】gin 如何绑定与使用 url 参数
实战场景:用 gin 如何绑定与使用 url 参数gin 路由参数绑定与映射获取 url 参数根据参数,返回获取的参数数据泛绑定原创 2022-06-18 07:00:00 · 1593 阅读 · 11 评论 -
【Go实战基础】gin 如何设置路由
gin 框架启动基础路由http GET / POST 请求返回 字符串 String 数据原创 2022-06-17 07:00:00 · 1828 阅读 · 6 评论 -
【Go实战基础】如何安装和使用 gin
什么是 Gin ,Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点。gin 安装、gin 启动、gin 基础路由、gin 返回 JSON 数据。实战场景:用 Go 实现安装和使用 gin。...原创 2022-06-16 11:51:25 · 1590 阅读 · 14 评论 -
【Go实战基础】程序里面数据是如何显示到浏览器当中的
目录一、简介二、模版库三、菜鸟实战1、新建文件2、编译和运行3、运行结果3.1、运行后服务启动,控制台输出3.2、浏览器输入后结果一、简介在 Web 中, 我们通常需要在后端将一些数据渲染到 HTML 文档中, HTML 就可以在浏览器中显示,从而实现动态的网页效果。模板可以被理解为事先定义好的 HTML 文档。模板渲染可以被简单理解为文本替换操作: 是后端用相应的数据去替换 HTML 文档中实现准备好的标记。模板技术多种多样,但本质是将模板文件和数据通过..原创 2022-06-02 07:00:00 · 847 阅读 · 8 评论 -
【Go实战基础】ORM 是干啥的,具体怎么使用
一、简介什么是 ORM ,即 Object-Relationl Mapping,它的作⽤是在关系型数据库和对象之间作⼀个映射,是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换 。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。ORM 提供了对数据库的映射,这样我们在具体操作数据库的时候,就不⽤ sql 直接编码,能够像操作对象⼀样从数据库获取数据。gorm 是 Golang 语言中一款性能极好的 ORM 库,对开发人员相对是比较友好的。接下来主要介绍.原创 2022-06-01 06:00:00 · 929 阅读 · 11 评论 -
【Python实战基础】Flask 使用 SQLAlchemy 怎么连接 MySQL 及 增加 / 更新 / 删除 / 查询 基础操作
SQLAlchemy 是一个常用的数据库抽象层和数据库关系映射包(ORM),可以让我们操作数据库跟操作对象是一样的,非常方便,因为一个表就抽象成一个类,一条数据就抽象成该类的一个对象。SQLALchemy 让开发者不⽤直接和 SQL 语句打交道,⽽是通过 Python 对象来操作数据库,在舍弃⼀些性能开销的同时,换来的是开发效率的较⼤提升。...原创 2022-05-31 20:13:42 · 1837 阅读 · 1 评论 -
【Go实战基础】连接 MySQL 及 增加 / 更新 / 删除 / 查询 基础操作怎么做
一、简介目前流行的网站构架方式是 LAMP,其中的 M 即 MySQL。作为数据库,MySQL 以免费、开源、使用方便为优势成为了很多 Web 开发的后端数据库存储引擎,MySQL 也是目前开发中最常见的关系型数据库。Go 中支持 MySQL 的驱动目前比较多,常用的有如下几种:github.com/go-sql-driver/mysql github.com/ziutek/mymysql github.com/Philio/GoMySQL接下来的例子主要以 github.com/go..原创 2022-05-31 07:30:00 · 717 阅读 · 2 评论 -
【Go实战基础】定时器是如何使用的
目录一、简介二、数据结构1、timer2、ticker三、菜鸟实战1、创建 g011.go2、编译和运行3、运行结果一、简介平时开发过程中,我们经常会遇到在将来某个时间点或者间隔一段时间重复执行函数,这个时候我们就可以考虑使用定时器。定时器在并发编程起到了非常重要的作用,它能够为我们提供比较准确的相对时间,基于它的功能,标准库中还提供了计时器、休眠等接口,能够帮助我们在 Go 语言程序中更好地处理过期和超时等问题。Go 语言中 timer 和 tic...原创 2022-05-30 01:00:00 · 561 阅读 · 0 评论 -
【Go实战基础】用 Go 如何实现一个 HTTP 服务
一、简介HTTP API 服务是 Go 中最常用的功能之一,可以用最简单的几行代码写出一个性能强大的 HTTP 服务,这就是 Go 的魅力。用 Go实现一个 http server 非常容易,Go 语言标准库 net/http 自带了一系列结构和方法来帮助开发者简化 HTTP 服务开发的相关流程。因此,我们不需要依赖任何第三方组件就能构建并启动一个高并发的 HTTP 服务器。二、数据结构基于HTTP构建的服务标准模型包括两个端,客户端(Client)和服务端(Server)。HTTP 请求从原创 2022-05-29 08:00:00 · 3173 阅读 · 14 评论 -
【Go实战基础】进程之间是使用什么通信的
目录一、简介二、数据结构三、菜鸟实战1、创建 g009.go2、编译和运行3、运行结果一、简介channel 是 Go中最核心的功能之一,因此理解 channel 的原理对于学习和使用 Go 非常重要。 channel 是 goroutine 之间通信的一种方式,可以类比成 Unix 中进程管道通信方式,channel 是支撑 Go 语言高性能并发编程模型的重要结构。通道像一个传送带或者队列,总是遵循先进先出(First In First Out)的规则,保证收发数据原创 2022-05-28 08:00:00 · 1029 阅读 · 3 评论 -
【Go实战基础】轻量级线程 goroutine
目录一、简介二、数据结构1、G2、P3、M三、菜鸟实战1、创建 g008.go2、编译和运行3、运行结果一、简介goroutine 是 Go 里的一种轻量级线程,也叫做协程,Go 语言中,每一个并发的执行单元叫一个 goroutine,是一种轻量级线程。每个 goroutine 都有一个 sched 的属性用来保存它的上下文,在用户态下可以切换,切换的时候不用进入内核态,所以其切换代价非常小。goroutine 作为 Go 语言的并发利器,不仅性能强劲而且原创 2022-05-27 07:45:00 · 780 阅读 · 8 评论 -
【Go实战基础】Go 是如何捕获及处理异常的
目录一、简介二、数据结构1、defer2、panic3、recover三、菜鸟实战1、创建 g007.go2、编译和运行3、运行结果一、简介Go 语言追求简洁优雅,不支持传统的 try - catch - finally 这种方式捕获和处理异常,Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得更加混乱。在 Go 语言中,使用多值返回来返回错误,不要用异常代替错误,更不要用来控制流程。在遇到真正的异常的情况下(比如除数为0了),才使用原创 2022-05-26 08:00:00 · 2597 阅读 · 7 评论 -
【Go实战基础】多态是怎么实现的
面向对象编程(OOP)中三个基本特征分别是封装,继承,多态。在 Go 语言中封装和继承是通过 struct 来实现的,而多态则是通过接口(interface)来实现的。Interface 是 Go 语言的基础特性之一,可以理解为一种类型的规范或者约定。在 Go中,接口是一组方法签名。当类型为接口中的所有方法提供定义时,它被称为实现接口。当我们给系统添加一个功能的时候,不是通过修改代码,而是通过增添代码来完成,要想满足这种要求,就需要interface来提供一层抽象的接口原创 2022-05-25 08:00:00 · 1149 阅读 · 3 评论 -
【Go实战基础】反射是什么,如何用反射查看变量类型
在计算机科学领域,反射是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。每种语言的反射模型都不同,并且有些语言根本不支持反射。Go 语言实现了反射,反射机制就是在运行时动态的调用对象的方法和属性,官方自带的 reflect 包就是反射相关的,只要包含这个包就可以使用。reflect.TypeOf 能获取类型信息;reflect.ValueOf 能获取数据的运行时表示;原创 2022-05-24 07:30:00 · 886 阅读 · 9 评论 -
【Go实战基础】最常用的高效数据结构 map
实际编程开发中,在任何语言里面,除了数组之外,最常用的数据结构莫就是映射 map。map是一种数据结构,在很多语言里面都内置了map类型,可以看作是键值对的映射,Go 的 Map 底层是一个 hash 表,表面上看 Map 只有键值对结构,实际上在存储的过程中涉及了数组和链表,之所以高效是因为其集合了顺序存储和链式存储两种存储结构。数组是 HashMap 的主干,数组的每个元素关联了一个链表。原创 2022-05-23 08:00:00 · 636 阅读 · 9 评论 -
【Go实战基础】slice 切片为什么更常用
数组元素固定,在 Go 语言中没有那么常用,更常用的数据结构是切片。什么是切片呢? 切片就是动态的数组,它的长度不固定,可以随意向切片中追加元素,而且切片会在容量不足的时候自动扩容。切片(slice)是对数组一个连续片段的引用,这个片段可以是整个数组,或者是由起始和终止索引标识的一些项的子集,需要注意的是,终止索引标识的项不包括在切片内,切片提供了一个与指向数组的动态窗口。切片的数据结构如下:type slice struct { // Pointer 是指向一个数组的指针 ar原创 2022-05-22 13:58:41 · 216 阅读 · 1 评论 -
【Go实战基础】数组实战,程序员的基本功
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。原创 2022-05-20 18:18:20 · 211 阅读 · 0 评论 -
【Go实战基础】创建并完成第一个可执行的 go 程序
【Go实战基础】创建并完成第一个可执行的 go 程序原创 2022-05-20 15:41:14 · 329 阅读 · 0 评论 -
【Go实战基础】GO语言是什么,有哪些优势
一、简介2007年,为了提高提高在多核、网络机器(networked machines)、大型代码库(codebases)的情况下的开发效率,Google 首席软件工程师决定创造一种语言那就是 Golang,简称Go。Go于2009年11月正式宣布推出,成为开放源代码项目,是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,支持Linux、macOS、Windows等操作系统。并被软件评价公司TIOBE选为最佳语言。Go语言容易上手,解决了并发编程和提高底层应用开发效率的痛点,被广泛原创 2022-05-20 15:39:33 · 779 阅读 · 1 评论