新手引导 — Golang后端开发环境搭建

入职引导 作为一名新入职的Golang后端开发,坐到工位的第一件事肯定是安装开发环境。每个公司的项目都有可能不一样,但基本软件都是要安装的。下面我来介绍一下,有哪些软件需要安装? 1. 编译软件 如果要运行Golang代码,肯定需要安装Golang编译器,一般我们都会下载最 新版本,但是公司可能会指定版本,避免因版本的不一样造成BUG。 2. 编辑软件 在Golang代码能运行后,我们还需要有个编辑器能编辑代码,最简单的莫过于记事本了,但是它没有代码提示功能。所以为了提高效率我们都会装一个带代码...阅读全文

简书 2020-03-19 10:33:07 撩课学院

【Golang】Main包下多个文件的相互调用

今天踩了一个go的坑,记录一下。 A.go package main func main() { SayHello() } B.go package main import "fmt" func SayHello() { fmt.Println("hello") } 可以看到,A.go和B.go都是在package main里面,A.go的main方法调用了main包的SayHello()方法。 运行A.go的main方法时,报错 Undefined: SayHello image.png 报错...阅读全文

简书 2020-03-19 10:33:05 冉小妹Ran

GO语言web框架Gin之完全指南(一)

作为一款企业级生产力的web框架,gin的优势是显而易见的,高性能,轻量级,易用的api,以及众多的使用者,都为这个框架注入了可靠的因素。截止目前为止,github上面已经有了 35,994 star. 一个开源框架,关注数越多,就会越可靠,因为大家会在使用当中不断地对它进行改进。 下面放几个链接方便进行查看: Gin的官方网站 Gin的Github主页 Gin的一些example Gin一些开源中间件 几个流行的go框架进行比较 go几大web框架比较 这个主页对几大web框架进行了一些比较,...阅读全文

Segmentfault 2020-03-23 12:32:33 Paul

GO的第六天,复合数据类型---Map、结构体

Map 一个map就是一个哈希表的引用。map的语法: ages := make(map[string]int) ages := map[string]int{ "alice": 31, "charlie": 34 } // 修改 ages["alice"] = 43 fmt.Println(ages["alice"]) // 43 // 删除 delete(ages, "alice") 所有这些操作是安全的,即使这些元素不在map中也没有关系;如果一个查找失败将返回value类型对应的零值,例...阅读全文

Segmentfault 2020-03-23 11:32:35 Mr_J

使用go的执行追踪器(execution tracer)

今天在YouTube上看了大神关于执行追踪器的视频,感觉对于go的理解又上升了一个台阶。 首先,我们开始画一个曼德布洛特复数集合(Mandelbrot set)。 这个图片的最终效果为: 曼德布洛特复数集合.png 这个集合有些复杂,首先使用golang创建两个函数: // pixel returns the color of a Mandelbrot fractal at the given point. func pixel(i, j, width, height int) color.Co...阅读全文

简书 2020-03-19 01:32:54 zooeymoon

Micro In Action(五):Message Broker

![Micro In Action](https://s1.ax1x.com/2020/03/18/8Da5pd.png) > 本文作者:Che Dan > > 原文链接:https://medium.com/@dche423/micro-in-action-5-message-broker-d975c2f28a55 本文是[Micro](https://micro.mu/)系列文章的第五篇。我们将从最基本的话题开始,逐步转到高级特性。今天的话题是 Message Broker。...阅读全文

Go语言中文网 2020-03-18 22:35:01 polaris

3.2.10Golang的函数进阶(作用域,函数类型)

总目录:https://www.jianshu.com/p/e406a9bc93a9 Golang - 子目录:https://www.jianshu.com/p/8b3e5b2b4497 变量作用域 全局变量 全局变量是定义在函数外部的变量,它在程序整个运行周期内都有效。 在函数中可以访问到全局变量。 package main import "fmt" var num int = 10 func sum() { fmt.Println("sum中访问num:", num) num = 20 f...阅读全文

简书 2020-03-18 21:33:18 寒暄_HX

Golang新手向——Sql库的Mysql基础操作

# 前言 为了匹配爬虫和网络编程学习,开始看一些库,比如数据库操作什么的。同时网上找到的资料感觉似乎有些问题,不和我胃口,或者说有些小细节需要多找一些资料以及结合官方档案才能找出答案,所以就写下这个东西 其实github上的大部分第三方库,都可以在[官方文档](https://godoc.org/github.com)里找到他的文档。。。 # 内容 ## 开始mysql ### 引用驱动与打开数据库 标准库有一个database/sql提供了接口,但是它没有具体的数据库驱动。想要...阅读全文

Go语言中文网 2020-03-18 20:49:50 y1nhui

轻松搭建基于 Serverless 的 Go 应用(Gin、Beego 举例)

首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息 参考。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您...阅读全文

Segmentfault 2020-03-23 09:32:34 阿里巴巴云原生

go语言-控制并发数

在Go语言自带的godoc程序实现中有一个vfs的包对应虚拟的文件系统,在vfs包下面有一个gatefs的子包,gatefs子包的目的就是为了控制访问该虚拟文件系统的最大并发数。gatefs包的应用很简单:import ( "golang.org/x/tools/godoc/vfs" "golang.org/x/tools/godoc/gatefs" ) func main() { fs := gatefs.New(vfs.OS("/path"), make(chan bool), 8) }其中...阅读全文

51CTO博客 2020-03-16 18:40:53 guoguocto

【Redis】简单使用

一个练手的小项目用到了redis数据库,以前没有接触过,大概看了一下教程,在这里做个简单的使用笔记。 文章目录 Redis相关简介 1.Redis是什么 2.安装Redis 3.启动Redis 4.Redis数据类型 Go操作redis Redis相关简介 Redis是什么 一个高性能的key-value数据库。 Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zse...阅读全文

简书 2020-03-18 17:33:18 冉小妹Ran

CSS如何删除表格中空单元格的边框?

想要使用CSS删除表格中空单元格的边框,可以使用empty-cells属性。empty-cells属性用于指定是否在表格的单元格无内容时显示边框。只有当表格边框独立(例如当border-collapse属性等于separate时)此属性才起作用。 原文地址:CSS如何删除表格中空单元格的边框?empty-cells属性设置或检索当表格的单元格无内容时,是否显示该单元格的边框。语法:empty-cells: show|hide;属性值:● show:用于显示空单元格上的边框;边框和背景正常渲染。●...阅读全文

简书 2020-03-18 17:32:51 yanghs

未来几年Python就业前景如何

众所周知,Python语言简洁、功能强大,被看做是人工智能时代最佳的编程语言。然而golang语言的出现正在威胁Python的地位,试图取代Python成为机器学习以及AI的主流编程语言。有人好奇未来几年Python就业前景如何,如果想要从事Python开发又应该怎样高效学习Python呐?未来几年Python就业前景依旧广阔Python使用广泛,且用途太多。它是一种编程语言,可以将数千个组件从单独的模块编译为整个的开发程序包。Python还有一个强大的社区,并有望在未来数十年间保持活跃。同时,...阅读全文

go学习笔记(四)——并发

goroutine 什么是goroutine goroutine是golang的最小执行单元,每个go程序至少会有一个主goroutine,这里可以类比成java中额主线程。为了更好的理解goroutine,可以将进程,线程和goroutine(其他语言中的协程)进行类比。 进程,线程和goroutine 进程,线程和协程关系 进程是操作系统进行资源分配,调度和执行的基本单元。当操作系统分配一个进程时,会生成一个唯一对应的PCB块以及为该进程分配专有的系统资源。后续操作系统的调度会通过对应的PC...阅读全文

简书 2020-03-18 15:32:50 落北忄

3.2.9Golang的函数基础(函数,参数,返回值)

总目录:https://www.jianshu.com/p/e406a9bc93a9 Golang - 子目录:https://www.jianshu.com/p/8b3e5b2b4497 函数 函数是组织好的、可重复使用的、用于执行指定任务的代码块。函数是go语言中的“一等公民”。 函数的定义与调用 其实我们从开始就无时无刻在接触着函数--main函数。 语法: func 函数名(参数)(返回值){ 函数体 } 规则: 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个...阅读全文

简书 2020-03-18 11:32:59 寒暄_HX

golang实现LRU算法

LRU缓存淘汰算法LRU是最近最少使用策略的缩写。双向链表实现LRU将Cache的所有位置都用双链表连接起来,当一个位置被访问(get/put)之后,通过调整链表的指向,将该位置调整到链表尾的位置,新加入的Cache直接加到链表尾。这样,在多次操作后,最近被访问(get/put)的,就会被向链表尾方向移动,而没有访问的,向链表前方移动,链表头则表示最近最少使用的Cache。package main import ( "fmt")type Node struct{ Key interface{} ...阅读全文

简书 2020-03-18 11:32:52 永明_3c16