经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Go语言

Go-包

Go-包 包的介绍以及使用 为什么使用包 为了更加好的维护代码 包的位置 必须再GOPATH路径的src中 能导入的内容 导入的内容名称必须是大写字母开头不然无法导入 包 src中的一个文件夹为一个包 包内的变量以及函数名 在同一文件夹下,就相当于同一包中,任何变量名不...[2019/11/20]

GO-数组与切片

GO-数组与切片

一.数组的定义 var 变量名 [数组的容量]类型 = [数组的容量]类型{值1,值2} var a [4]int = [4]int{1,2,3} 或者 var a = [4]int{1,2,3} 或者 a := [4]int{1,2,3} 这几个的结果为[1 2 3 0] 接...[2019/11/20]

Go-闭包

一.关于闭包的定义 定义在函数内部 对外部作用域有引用 二.GO语言里的闭包 原来和其他语言一模一样,作用域的影响函数内只受函数内的影响 三.重点(不同于其他语言) GO语言中的函数套函数内层函数必须是匿名函数 另外关于函数套函数返回值怎么写 func test2(y int)...[2019/11/20]

go-文件操作

章文件操作 文件的基本介绍 文件的概念 文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的 word 文档,txt 文 件,excel 文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声 音... 输入流和输出流 os....[2019/11/20]

go-单元测试

单元测试 先看一个需求 在我们工作中,我们会遇到这样的情况,就是去确认一个函数,或者一个模块的结果是否正确. 传统的方法 15.2.1 传统的方式来进行测试 在 main 函数中,调用 addUpper 函数,看看实际输出的结果是否和预期的结果一致,如果一致, 则说明函数正确,否则函数有...[2019/11/20]

[Go] gocron源码阅读-空接口类型interface{}

[Go] gocron源码阅读-空接口类型interface{}

gocron源代码中的Action那个地方,就是个空接口类型Action interface{},可以传递任意类型进去,这里是传了个函数进去 command := cli.Command{ Name: "web", Usage: ...[2019/11/19]

[Go] gocron源码阅读-groutine与channel应用到信号捕获

直接使用go 函数名()可以开启一个grountine,channel可以接收信息并且如果没有数据时会阻塞住channel对应的是底层数据结构的引用,复制channel和函数传参都是拷贝的引用make的时候第二个参数是1,就表示是有缓存的channel 无缓存的channel也叫同步...[2019/11/19]

[Go] gocron源码阅读-flag包实现命令行参数获取

调用flag包可以方便的获取到命令行中传递的参数,比如可以实现类似nginx执行程序获取命令行参数执行不同操作的目标 package main import ( "flag" "fmt" "os" ) func main() { ...[2019/11/19]

[Go] gocron源码阅读-通过第三方cli包实现命令行参数获取和管理

gocron源码中使用的是下面这个第三方包来实现的,下面就单独的拿出来测试以下效果,和官方flag包差不多 go get github.com/urfave/cli package main import ( "fmt" "log" "os...[2019/11/19]

[Go] gocron源码阅读-go语言web框架Macaron

gocron源码中使用的是马卡龙框架,下面这个就是安装这个框架,和一般的MVC框架很像go get gopkg.in/macaron.v1git clone https: github.com/golang/crypto.git $GOPATH rc/golang.org/x/crypt...[2019/11/19]

【Go 入门学习】第一篇关于 Go 的博客--Go 爬虫初体验

一、写在前面   其实早就该写这一篇博客了,为什么一直没有写呢?还不是因为忙不过来(实际上只是因为太懒了)。不过好了,现在终于要开始写这一篇博客了。在看这篇博客之前,可能需要你对 Go 这门语言有些基本的了解,比如基础语法之类的。话不多说,进入正题。   二、Go 环境配置 ...[2019/11/19]

golang 服务诡异499、504网络故障排查

事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5%,阈值跟当时的采样窗口qps有直接关系)。 报警当时非200占比已经过10%并且在...[2019/11/19]

go-面向对象编程(下)

go-面向对象编程(下)

面向对象编程思想-抽象 抽象的介绍 我们在前面去定义一个结构体时候,实际上就是把一类事物的共有的 属性( 字段)和 行为( 方法)提取 出来,形成一个 物理模型(结构体)。这种研究问题的方法称为抽象 比如一个银行账户: package main import ( "...[2019/11/19]

go-家庭收支记账软件例子

家庭收支记账软件项目 项目需求说明 1) 模拟实现基于文本界面的《家庭记账软件》 2) 该软件能够记录家庭的收入、支出,并能够打印收支明细表 项目的界面 看代码效果 项目代码实现 实现基本功能(先使用面向过程,后面改成面向对象) 功能 1: 先完成可以显示主菜单,并且 可以退出 思路...[2019/11/19]

go-客户信息关系系统

客户信息关系系统 项目需求分析 1) 模拟实现基于文本界面的《 客户信息管理软件》。 2) 该软件能够实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表 项目的界面设计 见代码的运行结果 项目功能实现-显示主菜单和完成退出软件功能 功能的说明 当用户运行程序时,可以...[2019/11/19]

【leetcode】127. Word Ladder

题目大意: 给一个开始单词beginword和一个结束单词endword, 再给一个单词列表wordList。从beginword变换到endword, 每次只能变换一个字母,且变换成的词属于wordList。 解决思路: 其实是个变相的BFS,寻找当前集合中相邻的可以进行变...[2019/11/19]

[Go] tcp服务下的数据传递

[Go] tcp服务下的数据传递

go中实现一个tcp服务,首先是要监听端口,接收请求,这个地方会被阻塞等待当客户端连接过来,会开一个grountine去处理这条客户端的tcp连接,因此可以同时处理多条连接 在连接中,要循环的去读取客户端传递过来的数据,这样就可以不停的处理客户端的请求数据在读取数据的时候,每次我只读...[2019/11/19]

GO语言介绍以及开发环境配置

一.介绍 GO语言是静态强类型语言 静态也就是编译型语言 二.安装 1.下载地址 下载地址 https: golang.google.cn/dl/ 2.安装 Linux安装 1、下载二进制包:go1.13.3.linux-amd64.tar.gz 2、将下载的二进制包解压至 /us...[2019/11/19]

Go-数据类型以及变量,常量

一.数据类型 1.字符串类型 string 2.数字类型 有符号整型: int: int 在32位机器上是int32 在64位机器是int64 int8: int8 表示数字范围是 正负2的7次方减1,由于他是有符号的其中一个要来表示正负,长度8bit位也就是一字节 int16: 类似...[2019/11/19]

Go-函数

一.函数的命名 无参数无返回值 方式一 func 函数名()(){} 方式二 func 函数名(){} 无参数有返回值 方式一 func 函数名()(返回参数1的数据类型1){} 定长参数,有返回值 func 函数名(参数1 类型,参数2 类型)(返回参数1的数据类型1,返回参数...[2019/11/19]

[Go] 使用go mod安装beego

需要go升级到1.12或以上 mkdir gomodtest cd gomodtest go mod init gomodtest 创建一个server.go package main import "github.com/astaxie/beego" f...[2019/11/19]

GO-逻辑判断(if,else if,else,switch)

一.if逻辑判断 package main import "fmt" func main() { var a =10; if a>10 { 大括号前不能回车 fmt.Println("dayu10"...[2019/11/19]

Go-for循环

一.第一种情况(死循环) package main import "fmt" func main() { for{ fmt.Println("fuck") } } 单独 for 有点像python中的while ...[2019/11/19]

go语言教程之浅谈数组和切片的异同

Hello ,各位小伙伴大家好,我是小栈君,上次分享我们讲到了Go语言关于项目工程结构的管理,本期的分享我们来讲解一下关于go语言的数组和切片的概念、用法和区别。 在go语言的程序开发过程中,我们避免不了数组和切片。关于他们的用法和区别却使得有的小伙伴感觉困惑。所以小栈君这里也归纳和总...[2019/11/15]

[Go] gocron源码阅读-go语言的结构体

结构体类型 type 名字 struct{},下面这段是github.com/urfave/cli包里的代码,声明了一个App的结构体类型 type App struct { The name of the program. Defaults to path.Bas...[2019/11/15]

Go gRPC Hello World - it-world

概述开始 gRPC 了,这篇文章学习使用 gRPC,输出一个 Hello World。    用 Go 实现 gRPC 的服务端。    用 Go 实现 gRPC 的客户端。gRPC 支持 4 类服务方法,咱们这次实现 单项 R...[2019/11/15]

[Go] gocron源码阅读-go语言中的切片接口和类型综合

getCommands func getCommands() []cli.Command { command := cli.Command{ Name: "web", Usage: "run web server", ...[2019/11/15]

GO基础之文件操作

GO基础之文件操作

一、文件操作的基本API func main() { 绝对路径 fileInfo , err := os.Stat("E:/a.txt") fileInfo , err = os.Stat("E:/") if err !=nil { ...[2019/11/15]

【Go】go的日志框架-logrus初探

summary  logrus是针对go语言开发的一款日志系统,在本片文章中,将会对上手logrus的过程中遇到的一些问题做一个记录。这个记录参考了这篇文章。下面我们开始吧! 上手 package main import ( log "github.com irups...[2019/11/14]

[日常] gocron源码阅读-使用go mod管理依赖源码启动gocron

从 Go1.11 开始,golang 官方支持了新的依赖管理工具go modgo mod download: 下载依赖的 module 到本地 cachego mod edit: 编辑 go.modgo mod graph: 打印模块依赖图go mod init: 在当前目录下初始化 g...[2019/11/14]

[Go] vscode配置Go环境

首先要先把环境变量配置好,配置好环境变量打开go文件的时候,会自动提示需要安装的扩展在/root/.profile和/home/当前用户/.profile都加上 export GOPATH=/var/www/html/go-project/libexport GOROOT=/usr/...[2019/11/14]

GO基础之延时执行

一、延迟是什么?•即延迟( defer)语句,延迟语句被用于执行一个函数调用,在这个函数之前,延迟语句返回。 一、延迟函数 1、可以在函数中添加多个defer语句。•当函数执行到最后时,这些defer■语句会按照逆序执行,最后该函数返回。特别是当你在进行一些打开...[2019/11/13]

实测Maven上传jar包到私服的方法归纳

实测Maven上传jar包到私服的方法归纳

Hello,各位小伙伴大家好,我是小栈君。好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间。 所以还请大家多多见谅,下一期的分享主题我们依旧会围绕着go语言系列进行。不过小栈君会尽量加快节奏。因为接下来的挑战是对于...[2019/11/11]

[系列] Go gRPC 调试工具

目录 概述 写一个 gRPC API grpcui 使用 go-gin-api 系列文章 概述 最近这段时间工作挺忙的,发现已经 3 周没更文了... ...[2019/11/11]

go-gin-api 路由中间件 - 日志记录 - it-world

go-gin-api 路由中间件 - 日志记录 - it-world

概述首先同步下项目概况:上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可。这篇文章咱们分享:路由中间件 - 日志记录。日志是特别重要的一个东西,方便我们对问题进行排查...[2019/11/11]

go-gin-api 规划目录和参数验证(二) - it-world

概述首先同步下项目概况:上篇文章分享了,使用 go modules 初始化项目,这篇文章咱们分享:    规划目录结构    模型绑定和验证    自定义验证器    ...[2019/11/11]

Gin框架 - 项目目录 - it-world

Gin框架 - 项目目录 - it-world

概述 今天给大家分享,在 API 端使用 Gin 框架时,项目的目录。目录   ├─ Project Name │ ├─ config 配置文件 │ ├── ... │ ├─ co...[2019/11/11]

Go学习笔记之Map

Go学习笔记之Map

Go学习笔记之Map Map 引用类型,哈希表。map的key必须可以比较相等,除了slice, map, function的内建类型都可以作为key。struct类型不包含上述字段,也可作为key。 map的操作 1.创建一个map。 1 m := map[int]struct{...[2019/11/11]

QA:无重复字符的最长子串

无重复字符的最长字串 leetcode地址:https: leetcode-cn.com/problem longest-substring-without-repeating-character 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串&nbs...[2019/11/11]

[开源]基于goapp+xterm实现webssh-网页上的SSH终端linux管理工具(golang)

 简析 基于goapp+xterm实现web h-网页上的SSH终端,linux管理工具。 开源地址见文末。   特性 在网页上实现一个SSH终端。从而无需Xshell之类的模拟终端工具进行SSH连接。 可以对交互命令进行审计、记录 在页面...[2019/11/11]

深度解密Go语言之 pprof

目录 什么是 pprof pprof 的作用 pprof 如何使用 runtime/pprof net/http/pprof pprof...[2019/11/11]

GO基础之异常处理

一、异常 1、 错误指程序中出现不正常的情况,从而导致程序无法正常执行。•大多语言中使用try... catch... finally语句执行。假设我们正在尝试打开一个文件,文件系统中不存在这个文件。这是一个异常情况,它表示为一个错误。2、 Go语言中没有try...catc...[2019/11/8]

go-面向对象编程(上)

一个程序就是一个世界,有很多对象(变量) Golang 语言面向对象编程说明 1) Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对 象语言。所以我们说 Golang 支持面向对象编程特性是比较准确的。 2) Golang 没有类(cla )...[2019/11/8]

GO基础之接口

一、概念1、 面向对象语言中,接口用于定义对象的行为。接口只指定对象应该做什么,实现这种行为的方法(实现细节)是由对象来决定。2、 在Go语言中,接口是一组方法签名。 •接口只指定了类型应该具有的方法,类型决定了如何实现这些方法。 •当某个类型为接口中的所有方...[2019/11/7]

GO基础之结构体

1 、什么是结构体 GO语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 2、什么是实例化? Go结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正分配内存。因此必须在...[2019/11/7]

使用Go进行单元测试的实现

简介 日常开发中, 测试是不能缺少的. Go 标准库中有一个叫做 testing 的测试框架, 可以用于单元测试和性能测试. 它是和命令 go test 集成使用的. 测试文件是以后缀 _test.go 命名的, 通常和被测试的文件放在同一个包中. 单元测试...[2019/11/7]

Go语言实现钉钉发送通知

具体代码如下所示: package main import ( "bufio" "io" "fmt" "io/ioutil" "o exec" "net/http" "os" "strings" ) func GetKey() (t...[2019/11/5]

Golang实现拓扑排序(DFS算法版)

Golang实现拓扑排序(DFS算法版)

问题描述:有一串数字1到5,按照下面的关于顺序的要求,重新排列并打印出来。要求如下:2在5前出现,3在2前出现,4在1前出现,1在3前出现。 该问题是一个非常典型的拓扑排序的问题,一般解决拓扑排序的方案是采用DFS-深度优先算法,对于DFS算法我的浅薄理解就是递归,因拓扑排序问题本身会有一些前...[2019/11/4]

go语言特点

go语言特点

简介 即达到了静态编译语言的安全和性能,又达到了动态语言开发维护的高效率 go = c+python 既有c静态语言的运行速度,又达到了Python动态语言的快速开发 诞生原因 计算机硬件更新频繁,性能提升很快,主流的编程语言明显低于硬件的发展, 不能合理利用多核CPU的优势提升系统性...[2019/11/4]

GO基础之切片

一、什么是切片 Go语言切片是对数组的抽象。 Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"); 与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 切片本身没有任何数据,它们只是...[2019/11/4]

347
2
记录数:610 页数:1/1312345678910下一页尾页
加载更多