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

Golang_互斥锁

为什么需要锁? 在并发的情况下,多个线程或协程同时去修改一个变量。使用锁能保证在某一时间点内,只有一个协程或线程修改这一变量。 锁的概念就是,我正在处理 a(锁定),你们等着,等我处理完了(解锁),你们再处理。这样就实现了,同时处理 a 的协程只有一个,就实现了同步。 GO语言标准库文...[2019/5/23]

深度解密Go语言之 map

目录 什么是 map 为什么要用 map map 的底层如何实现 map 内存模型 创建 map 哈希函数 key 定位过程 map...[2019/5/22]

Mac上go的下载安装教程

Mac上go的下载安装教程

下载安装 官网https: golang.google.cn/dl/下载,安装 环境变量配置 参考https: www.jianshu.com/p/5c1873eaf3ca Bash 编辑~/.bash_profile文件(vim ~/.bash_profile,进入vim的正常模式,在正...[2019/5/22]

匿名函数

匿名函数

概念 由一个不带函数名的函数声明和函数体组成 func(参数列表)返回值列表{ 函数体 } 匿名函数可以直接赋值给一个变量或者直接执行,不能独立存在 在定义时直接执行 无参数匿名函数 func() 返回值列表{ 函数体 }() ()是对匿名函数的调用 有参数,在括号里加参数 ...[2019/5/21]

学习RadonDB源码(二)

1. 为我新的一天没有放弃而喝彩 学习是一件很容易放弃的事情,因为就算是不学,我也能在现在的岗位上发光发热。可是人不就是一个热爱折腾的种群吗? 今天没有放弃不代表明天没有放弃,也许放弃的可能性大于坚持的可能性,不管怎样,坚持一天算一天。 RadonDB面对着TiDB,OceanBase等等数据...[2019/5/21]

Go语言——没有对象的面向对象编程

本文译自Steve Francia在OSCON 2014的一个PPT,原作请前往:https: pf13.com/presentation/go-for-object-oriented-programmer 对我来说,最吸引我的不是Go拥有的特征,而是那些被故意遗漏的特征。 —— tx...[2019/5/17]

学习RadonDB源码(一)

1. 可能是开始也可能是结束 RadonDB是国内知名云服务提供商青云开源的一款产品,下面是一段来自官方的介绍: QingCloud RadonDB 是基于 MySQL 研发的新一代分布式关系型数据库,可无限水平扩展,支持分布式事务,具备金融级数据强一致性,满足企业级核心数据库对大容量、高并发...[2019/5/16]

golang web 方案

golang web 方案

概要 开发 web 框架 数据库 认证 日志 配置 静态文件服务 上传/下载 发布 docker 打包 部署中遇到的问题 时区问题 概要 轻量的基于 golang 的 web 开发实践. golang 上手简单, 第三方库丰富, 对于业务没那么复杂的项目, 作为 API 的后端也...[2019/5/14]

Docker 系列之 基础入门

Docker 系列之 基础入门

安装 Docker Windows 10 专业版以上版本 Docker for Windows Installer 在安装前,需要确保目标机器已经开启了硬件虚拟化和 HyperV ;在安装的过程中建议不要进行其它操作,它需要自动重启。 Ubuntu Docker for Ubu...[2019/5/13]

LeetCode977.Squares of a Sorted Array

题目 977. Squares of a Sorted Array Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in...[2019/5/10]

详解golang碎片整理之 fmt.Scan

本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中获取数据的Sscan系列函数的用法。 Scan系列 go语言fmt包下有fmt.Scan、fmt.Scanf、fmt.Scanln三个函数,可以在...[2019/5/9]

关于goquery的“non-standard import”错误

goquery运行缺包就用get github.com\andybalholm\cascadia下到gopath,然后出现“non-standard import”错误,说明github.com\andybalholm\cascadia和golang.org/x/net/h...[2019/5/8]

深度解密Go语言之反射

目录 什么是反射 为什么要用反射 反射是如何实现的 types 和 interface 反射的基本函数 反射的三大定律 ...[2019/5/7]

带小伙伴手写 golang context

前言 - context 源码   可以先了解官方 context.go 轮廓. 这里捎带保存一份当前 context 版本备份.  Copyright 2014 The Go Authors. All rights reserved. Use ...[2019/5/5]

simple go web application & 二维码生成 & 打包部署

simple go web application & 二维码生成 & 打包部署

go语言简易web应用 & 二维码生成及解码 & 打包部署 转载请注明出处: https: www.cnblogs.com/funnyzpc/p/10801476.html 前言(闲扯) (20190503)我知道今天会有其他活动,因此我提前买了杯咖啡, (20190504)我知...[2019/5/5]

golang 1.12 自动补全

golang 1.12 版本的自动补全问题 问题 golang 1.12 开始, 默认的 go install 不再生成 pkg 文件. 所以对第三方库的引用, 无法进行代码的自动补全. 解决方法 go install -i 会生成 pkg 文件夹和编译文件 原文链接:http: www.cn...[2019/5/5]

20190312_浅谈go&java差异(二)

转载请注明出处:https: www.cnblogs.com/funnyzpc/p/10801474.html 第二节内容概览 循环(for、switch) 多值返回 defer & finally init(go) 与默认构造函数(java) 常量、静态变量(const 与 sta...[2019/5/5]

优雅的go语言--入门篇

1.特点   1.静态类型,编译型的开源语言   2.脚本华的语法,支持多种编程范式(函数式&面向对象)   3.原生,给力的并发编程的支持 2.优势   1.脚本化的语法   2.静态类型+编译型,程序运行速度有保障   3.原生支持并发编程(降低开发...[2019/4/30]

Goland开发工具安装教程

开发工具: 文本类的编辑器:记事本,notepad,sublime text,atom。。。 通过命令执行程序 IED:集成开发环境(integrated development environment) goland 1.1 使用Goland Goland是JetBrain...[2019/4/30]

golang 变量定义

  package main import "fmt" var luckyNum = 6 var luckyStr = "love" myNum := 6 在函数外部不可以用 := 合并定义 var ( age = 18 name = "jukai" ) 变...[2019/4/30]

go语言入门教程:基本语法之变量声明及注意事项

go语言入门教程:基本语法之变量声明及注意事项

一、变量的使用 1.1 什么是变量 变量是为存储特定类型的值而提供给内存位置的名称。在go中声明变量有多种语法。 所以变量的本质就是一小块内存,用于存储数据,在程序运行过程中数值可以改变 1.2 声明变量 var名称类型是声明单个变量的语法。 以字母或下划线开头,由一个或多...[2019/4/29]

Golang随机数生成

  需求:10以内随机生成2个幸运数字 package main import ( "fmt" "math/rand" ) func main() { fmt.Println("My first lucky number is", rand.Intn...[2019/4/29]

golang中的defer

1、defer的作用 defer 语句会将函数推迟到外层函数返回之后执行。 即defer后面的函数在defer语句所在的函数执行结束的时候会被调用   2、defer的语法 defer后面必须是函数调用语句,不能是其他语句,否则编译器会出错 2.1、简单的使用 ...[2019/4/29]

Go语言strings包

目录 strings包实现了用于操作字符的简单函数。 func EqualFold 判断两个utf-8编码字符串(将unicode大写、小写、标题三种格式字符视为相同)是否相同。 func EqualFold(s, t string) boo...[2019/4/28]

golang实现的简单优先队列

下面是golang实现的简单优先队列,参考信息可以查看https: golang.org/pkg/container/heap/或者https: golang.google.cn/pkg/container/heap/,后面这个网址也是官方提供的网址,关于这个网页的说明,可以参考https: bl...[2019/4/26]

go语言调度器源代码情景分析之一:开篇语

专题简介 本专题以精心设计的情景为线索,结合go语言最新1.12版源代码深入细致的分析了goroutine调度器实现原理。   适宜读者 go语言开发人员 对线程调度器工作原理感兴趣的工程师 对计算机底层运行原理感兴趣的工程师   专题目标 ...[2019/4/26]

深度解密Go语言之关于 interface 的10个问题

目录 1. Go 语言与鸭子类型的关系 2. 值接者和指针接收者的区别 方法 值接收者和指针接收者 两者分别在何时使用 3. iface 和 ef...[2019/4/25]

Go语言在Linux环境下输出彩色字符的方法

 Go语言要打印彩色字符与Linux终端输出彩色字符类似,以黑色背景高亮绿色字体为例: fmt.Printf("\n %c[1;40;32m%s%c[0m\n\n", 0x1B, "testPrintColor", 0x1B) 其中0x1B是标记,[开始定义颜色,1代...[2019/4/25]

Go语言安全编码规范-翻译(分享转发)

Go语言安全编码规范-翻译   本文翻译原文由:blood_zer0、Lingfighting完成 如果翻译的有问题:联系我(Lzero2012)。匆忙翻译肯定会有很多错误,欢迎大家一起讨论Go语言安全能力建设。 英文地址      ...[2019/4/24]

TF-IDF算法-golang实现

1、TF-IDF算法介绍        TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)是一种用于信息检索(information retrieval)与文本挖掘(text...[2019/4/24]

go语言打造p2p网络

传送门: 柏链项目学院 就像1000个人眼中有1000个哈姆雷特一样,每个人眼中的区块链也是不一样的!作为技术人员眼中的区块链就是将各种技术的融合,包括密码学,p2p网络,分布式共识机制以及博弈论等。我们今天就来讨论一下区块链技术中的p2p网络,这是一种点到点的通信技术。 说到p2p...[2019/4/24]

【Go学习之旅】Go语言安装及环境配置教程

【Go学习之旅】Go语言安装及环境配置教程

一、前言 Go(又称Golang)是Google开发的一种静态强类型、编译型的编程语言。 Go语言的主要特点包括:自动垃圾回收、更丰富的内置类型、函数多返回值、错误处理、匿名函数和闭包、类型和接口、并发编程、反射、语言交互性。   二、安装配置 Go语言的安装是很简单的,...[2019/4/24]

go语言框架gin之集成swagger

1、安装swag 在goLand中直接使用go get -u github.com waggo wag/cmd wag命令安装会报错 翻了很多博客,都没找到太合适的办法,根据博客中所写的操作还是会报错,最后用git直接下载也挺方便的,类似这种问题都可以使用此方法  ...[2019/4/23]

golang: 利用unsafe操作未导出变量

unsafe.Pointer其实就是类似C的void *,在golang中是用于各种指针相互转换的桥梁。uintptr是golang的内置类型,是能存储指针的整型,uintptr的底层类型是int,它和unsafe.Pointer可相互转换。uintptr和unsafe.Pointer的区别就是:...[2019/4/22]

go 调用windows dll 的方法

go 调用windows dll 的方法 ,代码如下:   package main import ( "fmt" "syscall" "time" "unsafe" ) const ( MB_OK = 0x0000...[2019/4/22]

类型转换和类型断言

概述     由于Go语言不允许隐式类型转换,不同的类型之间的转换必须做显示的类型转换。而类型转换和类型断言的本质,就是把一个类型转换到另一个类型。 不过Go语言必须做显示的类型转换的要求也有例外的情况:  当普通 T 类型变量向 I 接口类型转换...[2019/4/22]

Go之unsafe.Pointer && uintptr 类型

Go语言是个强类型语言。Go语言要求所有统一表达式的不同的类型之间必须做显示的类型转换。而作为Go语言鼻祖的C语言是可以直接做隐式的类型转换的。 也就是说Go对类型要求严格,不同类型不能进行赋值操作。指针也是具有明确类型的对象,进行严格类型检查。不过Go语言也有例外在一些特殊类型存在隐式转换。...[2019/4/22]

golang语言示例

golang语言示例

package main import "fmt" /* my first programmer in go */ func fib(n int) int{ if n<2{ return n } return fib(n-1)+f...[2019/4/19]

Golang websocket推送

Golang websocket推送

Golang websocket推送 在工作用主要使用的是Java,也做过IM(后端用的netty websocket)。最近想通过Golang重写下,于是通过websocket撸了一个聊天室。 项目地址 Github 依赖 golang.org/x/net下的websocket。 由于...[2019/4/17]

从0开始学golang--2.1--如何去爬园子的数据

从0开始学golang--2.1--如何去爬园子的数据

20天过去了,才开始写。。。主要还是因为自己懒吧。之前一边上班一边也有挤时间练习golang,可是写博客却老是不能行动,跑步也没跑了。突然的就懈怠了快一个月。可能也和开始玩the elder scrolls online有关系,以后需要在工作-健身-娱乐三者之间找好平衡感。。昨天和今天先开始恢复了...[2019/4/16]

golang channel 源码剖析

golang channel 源码剖析

channel 在 golang 中是一个非常重要的特性,它为我们提供了一个并发模型。对比锁,通过 chan 在多个 goroutine 之间完成数据交互,可以让代码更简洁、更容易实现、更不容易出错。golang 的 channel 设计模型遵循 CSP(Communicating Sequent...[2019/4/15]

Golang实现requests库

Golang实现requests库 简单的封装下,方便使用,像python的requests库一样。 Github地址 Github 支持 GET、POST、PUT、DELETE application/json、application/x-www-form-urlencoded 不支...[2019/4/12]

gin的url查询参数解析

gin作为go语言最知名的网络库,在这里我简要介绍一下url的查询参数解析。主要是这里面存在一些需要注意的地方。这里,直接给出代码,和运行结果,在必要的地方进行分析。 代码1: type StructA struct { FieldA string `form:"field_...[2019/4/12]

go for range遍历二维数组的示例

go for range 遍历二维数组 var arry [2][3] int for index,_ := range arry { fmt.Print(index) } 运行结果: 0 1   没有遍历所有的6个元素。 二维数组 arry...[2019/4/10]

golang日志收集方案之ELK

golang日志收集方案之ELK

每个系统都有日志,当系统出现问题时,需要通过日志解决问题 当系统机器比较少时,登陆到服务器上查看即可满足 当系统机器规模巨大,登陆到机器上查看几乎不现实 当然即使是机器规模不大,一个系统通常也会涉及到多种语言的开发,那么问题来了,每次系统出问题了,如何能够迅速查问题? 好一点的情况可能是py...[2019/4/4]

golang的空标识符理解

golang的空标识符理解

空白符(blank identifier) 空白符的产生可能是因为go不允许变量声明了但不使用。既然不想使用,何必声明变量呢,那就将变量用空白符代替,反正空白符就是用来抛弃的。 我们有时候看到这样的golang代码: import _ "net/http/pprof" ...[2019/4/3]

WaitGroup

WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组、团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行。 先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的...[2019/4/2]

深度解密Go语言之Slice

目录 当我们在说 slice 时,到底在说什么 slice 的创建 直接声明 字面量 make 截取 slice 和数组的区别在哪...[2019/4/2]

golang读取文件的常用方法总结

使用go语言读取文件的各种方式整理。 一次性加载到内存中 * 整个文件读到内存,适用于文件较小的情况 每次读取固定字节 问题容易出现乱码,因为中文和中文符号不占一个字符 func readAllIntoMemory(filename string) (content ...[2019/4/2]

不一样的go语言-构建系统与构件系统

前言 代码的最后一步是构建成计算机可识别的二进制数据,然后才得以在计算机上运行。如果你曾经写过有点规模(至少数十个以上独立的源文件,且需要依赖第三方包)C语言项目,必定对C语言项目的构建过程印象深刻。或者当你曾经在linux系统中使用rpm命令安装程序 时,系统一遍又一遍不厌其烦地提醒你缺少依赖时...[2019/4/1]

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