golang操作MySQL数据库总结准备数据库和表下载安装MySQLhttps://dev.mysql.com/downloads/mysql/创建一个go_db数据库create database go_db打开数据库use go_db创建表CREATE TABLE user_tbl ( id INTEGER PRIMARY KEY AUTO_INCREMENT, username VA
转载 2024-09-08 23:25:01
59阅读
前言Go语言并不像Java那样有类的概念,以及extends这样的关键字,但是可以用其特有的数据结构来实现类似面向对象的特性。主要有结构体实现封装,组合实现继承,接口实现多态。 封装可以隐藏类的实现细节并使代码具备模块化,继承可以扩展已存在的模块,多态的作用除了复用性外,还可以解决模块之间高耦合的问题。 文章目录前言一、结构体实现封装二、组合实现继承三、接口实现多态接口定义与实现接口实现多态 一、
转载 2023-10-02 21:00:41
181阅读
1、database/sql包sql包提供了保证SQL或类SQL数据库的泛用接口。使用sql包时必须注入(至少)一个数据库驱动。(1)获取mysql driver:go get -v github.com/go-sql-driver/mysql(2)代码示例:package main import ( "database/sql" "fmt" "log" "time" _ "gith
转载 2023-12-12 23:44:06
0阅读
Golang提供了官方的http包,对于http操作非常的方便和简洁。但是不同于PHP,使用Golang的包来做http操作,还是没有那么”直接“,需要实例化一下这个,实例化一下那个,有点像Java,因此,为了以后书写方便,就把基本的请求写在此。下次用的时候,直接copy就好了。get 请求get请求有好几种方式直接使用net/http包内的函数请求import "net/http" ... re
转载 2023-12-26 11:30:23
56阅读
由于同事每次让我这边清空redis数据(string,集合)都需要我来操作比较麻烦,所以开放了个api给他。考虑到golang直接操作redis没新意,换个思路:此api通过控制shell脚本来一步到位。 ...
转载 2021-08-24 18:31:00
192阅读
2评论
说明Golang中引入error接口类型作为错误处理的标准模式,如果函数要返回错误,则返回值类型列表中肯定包含error;Golang中引入两个内置函数panic和recover来触发和终止异常处理流程,同时引入关键字defer来延迟执行defer后面的函数。错误/异常处理的一些原则错误处理的正确姿势 - 失败的原因只有一个时,不使用error - 没有失败时,不使用error - error应放
转载 2024-04-20 17:46:01
56阅读
Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。正如DockerPool在免费Docker电子书Docker —— 从入门到实践中这样提到的:作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。首先,Docker 容器的启动可以在秒级实现,这相比传统的虚
转载 2023-08-23 15:59:49
73阅读
# Dockerfile的golang封装 Docker是一种容器化技术,它可以将应用程序及其依赖项打包到一个独立的容器中,从而实现应用程序的跨平台运行。Golang是一种高效的编程语言,结合Docker可以方便地构建和部署Golang应用程序。 在本文中,我们将介绍如何使用Dockerfile来封装一个基于Golang的应用程序。我们将一步步地创建一个Dockerfile,并为其添加必要的指
原创 2024-04-11 04:58:07
34阅读
io模型 计算机的io模型区分为多种,目前用的最多的也就是nio、epoll、select。 结合不同场景使用不同的io模型才是正解。 具体可以查看我之前写的io模型演进。io模型演进 golang中网络io gola...
转载 2021-09-22 15:46:00
472阅读
2评论
# Golang与Python的封装:跨语言的协作 在现代软件开发中,我们经常需要将不同编程语言的优势结合起来,以实现更好的性能和可维护性。Go(Golang)作为一种高效、并发友好的语言,与Python的灵活性和丰富的库生态相结合,可以创造出强大而高效的应用。本文将探讨如何在Golang封装Python代码,达成跨语言的协作,并提供代码示例和序列图来帮助更好地理解这一过程。 ## 背景
原创 2024-09-14 06:29:17
38阅读
一、声明接口 二、实现接口,这里却将接口作为成员变量,进而将接口的实现转换为接口的调用,仅仅是封装
原创 2022-08-02 17:08:55
125阅读
# 如何实现golang操作redis封装 ## 整体流程 首先,我们需要安装redis相关的库,然后连接到redis数据库,并对其进行操作。接下来,我们需要封装这些操作,让其更加方便使用。 以下是实现"golang操作redis封装"的步骤: | 步骤 | 描述 | |------|---------------| | 1 | 安装redis库 | | 2
原创 2024-03-31 03:32:51
229阅读
    学习过Python或者java的朋友,都会习惯里面的类,而Golang中是没有类的概念,而有类似的概念结构体,结构体是一款功能强大的数据类型,能够简单的实现其他语言中类实现的功能,能够序列化json,支持继承,在继承时,继承父结构体的属性和父结构体的方法。同时结构体也像其他数据结构和函数一样,以大写字母开头的结构体能够导出本包,应用到其他包。而当开始
原创 2019-03-25 22:41:14
3107阅读
在Python中,为了对一类事务进行抽象描述,引入了class类这个概念。即拥有相同属性和方法的事务都成为一个类。以我们常见的电脑(computer)为例。电脑是一个类的名称,所有的电脑都有相同的属性如电脑名称,也拥有相同的使用方法如开机、关机等。那么用Python语言描述的话,示例代码如下class Computer: def __init__(self, computer_type):
原创 2023-02-16 18:07:35
236阅读
老外的分享 package main import ( "reflect" ) type TryCatch struct { errChan chan interface{} catches map[reflect.Type]func(err error) defaultCatch func(err
转载 2023-06-11 01:22:38
85阅读
当前封装基于工程项目,目录结构为下图1.log日志属于工具类包所以我们在utils目录下创建相关目录以及文件package logs import "github.com/sirupsen/logrus" //定义各级别日志的函数 func Debug(fields map[string]interface{}, msg string){ /* 接收参数解释:查看logrus
原创 2023-09-08 10:32:21
748阅读
老外的分享 package main import ( "reflect" ) type TryCatch struct { errChan chan interface{} catches map[reflect.Type]func(err error) defaultCatch func(err error) } func (t TryCa
转载 2023-06-07 16:42:00
384阅读
类的封装及方法绑定 Golang支持类的操作,但是没有class关键字,使用struct类模拟类 在struct中定义函数需要在外部绑定,通过在方法前面指定数据类型类绑定方法到指定类,有点类似于C#的扩展函数 package main import "fmt" // C++ 创建类的方式 /* cl ...
转载 2021-09-27 20:27:00
249阅读
2评论
我们前面有了解到,在一个包中定义的对象名称必须是大写才能在其他的包中进行使用但在不同的包调用时会出现一个问题,我在两
原创 2021-12-01 11:47:14
221阅读
目录一、简述go语言的GMP调度模型二、golang 的协程:Goroutine 阻塞的话,是不是对应的M也会阻塞三、如何阻塞一个Goroutine 一、简述go语言的GMP调度模型G:一个G代表一个goroutine,协程的本质是用户态的线程,用户对其有控制权限,内存占用少,切换代价低。 M:内核态线程,一个M代表了一个内核线程,等同于系统线程,所有的G都要放在M上才能运行。 P:逻辑处理器,
  • 1
  • 2
  • 3
  • 4
  • 5