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

Gin 框架 - 安装和路由配置

目录 概述 Gin 安装 路由配置 推荐阅读 概述 看下 Gin 框架的官方介绍: Gin 是一个用 Go (Golang) 编写的 web 框架。 它是一个类...[2019/7/17]

go 接口

  隐式 接口 接口类型是由一组方法定义的集合。 接口类型的值可以存放实现这些方法的任何值。  类型通过实现那些方法来实现接口。 没有显式声明的必要;所以也就没有关键字“implements“。 隐式接口解藕了实现接口的包和定义接口的...[2019/7/17]

基于go语言结合微信小程序开发的微商城系统

基于go语言结合微信小程序开发的微商城系统

最近我录制的一门《Golang微信小程序微商城系统原型》,这门免费课程特别适合在校大学生或者刚毕业的大学生,go语言初学者以及想要从事微商城开发项目入门的小伙伴们来学习。在课程当中我不仅仅从商城角度来分析项目,而是站在产品的角度来分析实战,其中穿插着对数据库表关联关系的设计,学完本门课程可以对微商...[2019/7/17]

go 语言学习笔记

go 语言学习笔记 “Go是一个开源的编程语言,它很容易用于构建简单、可靠和高效的软件。”(摘自Go语言官 方网站:http: golang.org ) Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会主动把特定符号后的换行符转换为分号, 因此换行符添加的位置会...[2019/7/17]

go for循环

    1全形式 for for 不能像java C#那样跟小括号  for i:=0;i<10;i++ {  大括号必须放再这里   2省略前置后置语句 for sum < 1000 { &...[2019/7/16]

go switch 和java C#有不同

1 switch 后的语句可以有简单的赋值语句 2 case :后的语句结束后不需要break;默认自动结束 除非以 fallthrough 语句结束,否则分支会自动终止     没有条件的 switch   ...[2019/7/16]

go 指针 通过指针修改int类型的值

go 指针 通过指针修改int类型的值

指针的定义 :var p *int 取指针的值 :*p ------------------------------------------------------------------------------------ package main   imp...[2019/7/16]

Go - 函数

Go - 函数

概述 学习了一些基础语法,开始学习写函数了,分享几个自己写的函数。 MD5 获取当前时间戳 获取当前时间字符串 生成签名 函数定义 func function_name(input1 type1, input2 type2) (type1, type2) { 函数体 返回...[2019/7/15]

GO语言开发环境搭建

1.  GO语言安装包下载 下载地址: https: tudygolang.com/dl (GO语言中文网) 或https: golang.google.cn/dl/ (GO官网) 建议下载.msi安装包,这样在安装时可以自动创建GoRoot与Path环境变量。...[2019/7/15]

Go基础编程实践(十)—— 数据库

从数据库中读取数据 在http: qlitebrowser.org/下载sqlite3可视化工具,在本main.go同目录下创建personal.db数据库,创建表如下: package main import ( "database ql" "...[2019/7/15]

golang 赋值与声明语法糖使用注意事项

赋值与声明语法糖 基本用法略, 搜索即可 注意事项 类型推断 := 会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换 i1 默认是 int 类型 i1 := 1 当需要把 i2 当成 int64 来使用时需要进行类型转换再赋值 i2 := int64(1) 这...[2019/7/15]

go开发环境

1.go 下载地址 https: tudygolang.com/dl 根据操作系统 下载相应的安装包 2.设置环境变量 goroot gopath path 增加%goroot%\bin 3.开发工具vscode或者idea vscode下载地址&nbs...[2019/7/15]

Go - 循环

目录 概述 循环 array 循环 slice 循环 map break continue goto switch ...[2019/7/11]

go:变量和常量

一、标识符和关键字   1、标识符     在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。  ...[2019/7/11]

基于Go和Gin的环境配置方法

1.官方下载Go版本,安装相应平台的程序。 2.配置Go的环境变量: GOROOT:GO安装路径,例如GOROOT = D:\Go GOPATH: 项目源码所在目录(例如GOPATH = E:\go),该目录下面主要包括三个子目录,分别是src、bin、pkg GOBIN:bin目...[2019/7/11]

gorm golang 并发连接数据库报错的解决方法

底层报错 error:cannot a ign requested addre 原因 并发场景下 client 频繁请求端口建立tcp连接导致端口被耗尽 解决方案 root执行即可 sysctl -w net.ipv4.tcp_timestamps=1 开启对于TCP时间...[2019/7/11]

golang http连接复用方法

server端 golang httpserver 默认开启keepalive连接复用选项 handler函数需要完整读body数据,构造返回消息,否则当数据不能一次发送完成时,连接复用就会失效。 示例如下 package main import ( "fmt"...[2019/7/11]

Golang 使用http Client下载文件的实现方法

之前使用beego的http库的时候,有的情况需要下载文件。beego是能实现,但就是有点问题:不支持回调,没法显示下载速度,这在日常开发中是不可忍受的。 看了下beego的实现主要是使用了io.copy函数,于是就深入的看了下实现原理,发现挺简单的,于是就根据io.copy原理实现的一个简单...[2019/7/11]

golang 检查网络状态是否正常的方法

如下所示: package main import ( "fmt" "o exec" "time" ) func NetWorkStatus() bool { cmd := exec.Command("ping", "baidu.com", "-c", "...[2019/7/11]

Go - Map 集合

目录 概述 声明 Map 生成 JSON 编辑和删除 推荐阅读 概述 Map 集合是无序的 key-value 数据结构。 Map 集合中的 ke...[2019/7/10]

golang gorm中格式化时间问题详解

golang gorm中格式化时间问题详解

前言 最近在开发项目时遇到了发现一个问题, gorm虽然可以自动帮你维护 created_at、updated_at、deleted_at这些关键时间字段。但是其原理与弊端需要了解一下。 1.使用方法 通过自定义一个localtime的结构,来控制时间的格式 ...[2019/7/10]

Go基础编程实践(九)—— 网络编程

Go基础编程实践(九)—— 网络编程

下载网页 package main import ( "io/ioutil" "net/http" "fmt" ) func main() { url := "http: www.cnblog...[2019/7/9]

go时间/时间戳操作大全(小结)

基本操作 01: 获取当前时间 dateTime := time.Now() fmt.Println(dateTime) 02: 获取年 月 日 时 分 秒 纳秒 year := time.Now().Year() 年 fmt.Println(ye...[2019/7/9]

GO代码生成代码小思小试

推进需求 GO 项目,可整体生成一个运行文件到处跑,是极爽之事。但如果有资源文件要得带着跑,则破坏了这种体验。 例如下边这个项目结构,resource 目录下为资源文件,main.go 中会通过路径引用到这些资源文件,于是新的需求产生了。 |- hello ----|- resource -...[2019/7/8]

Go基础编程实践(四)—— 数组和map

数组去重 package main import "fmt" func main(){ intSlice := []int{1,5,5,5,5,7,8,6,6, 6} fmt.Println(intSlice) uniqueIntSlice := unique(...[2019/7/8]

Go基础编程实践(五)—— 错误和日志

自定义错误类型 Go中可以使用errors.New()创建错误信息,也可以通过创建自定义错误类型来满足需求。error是一个接口类型,所有实现该接口的类型都可以当作一个错误类型。 error类型定义 type error interface { Error方法给出了错误描述 ...[2019/7/8]

Go基础编程实践(六)—— 文件

检查文件是否存在 在此程序同目录下创建log.txt文件,以检测。 package main import ( "os" "fmt" ) func main() { if _, err := os.Stat("log.txt"); err == nil { ...[2019/7/8]

一个commit引发的思考

这几天我翻了翻golang的提交记录,发现了一条很有意思的提交:bc593ea,这个提交看似简单,但是引人深思。 commit讲了什么 commit的标题是“sync: document implementation of Once.Do”,显然是对文档做些补充,然而奇怪的是为什么要对某个功能的...[2019/7/8]

Go基础编程实践(七)—— 并发

Go基础编程实践(七)—— 并发

同时运行多个函数 观察常规代码和并发代码的输出顺序。 常规代码,顺序执行,依次输出 package main import ( "fmt" "time" ) func main() { strN := []string{&q...[2019/7/8]

Go基础编程实践(八)—— 系统编程

捕捉信号 运行此程序,控制台将打印"Waiting for signal" 按Ctrl + C 发送信号以关闭程序,将发生中断 随后控制台依次打印"Signal .."、"Exiting..." package main i...[2019/7/8]

Go - Struct 结构体

Go - Struct 结构体

目录 概述 声明结构体 生成 JSON 改变数据 推荐阅读 概述 结构体是将零个或多个任意类型的变量,组合在一起的聚合数据类型,也可以看做是数据的集...[2019/7/5]

MacOS VSCode 安装 GO 插件失败问题解决

0x00 问题重现 Installing golang.org/x/tool cmd/guru FAILED Installing golang.org/x/tool cmd/gorename FAILED Installing golang.org/x/lint/golint FAILED In...[2019/7/5]

Go 程序是怎样跑起来的

目录 引入 编译链接概述 编译过程 词法分析 语法分析 语义分析 中间代码生成 目标代码生成与优化 ...[2019/7/3]

Go基础编程实践(三)—— 日期和时间

日期和时间 package main import ( "fmt" "time" ) func main() { 获取当前时间 current := time.Now() 格式化字符串输出 fmt....[2019/7/2]

golang中判断两个slice是否相等

在golang中我们可以轻松地通过==来判断两个数组(array)是否相等,但遗憾的是slice并没有相关的运算符,当需要判断两个slice是否相等时我们只能另寻捷径了。 slice相等的定义 我们选择最常见的需求,也就是当两个slice的类型和长度相同,且相等下标的值也是相等的,比如: a ...[2019/7/2]

浅论Go语言的美好和丑陋

这是一个“Go不好”系列的额外文章。Go确实有一些不错的特性,也就是本文中“好的”部分,但是当我们不使用API或者网络服务器这是为它设计的而且将它用于业务领域逻辑的时候,总体而言我发现它用起来笨重且糟糕。但是即使在用于网络编程的时候,在设计和实现方面它也有很多缺陷,这导致它在显而易见的简单的表面之下是危险的。[2019/7/1]

Go基础编程实践(二)—— 类型转换

Go基础编程实践(二)—— 类型转换

bool to string strconv包的FormatBool函数用于将bool转为string package main import ( "fmt" "strconv" ) func main() { isNew :=...[2019/6/30]

不一样的go语言-玩转语法之二

本文继续玩转语法,是为之二。 I/O(Input/Output),输入输出是计算机最为突出的特点,也可以说是计算机最为核心的功能。没有I/O,计算机就是一堆废铜废铁。从最低层的电子元器件开始,计算机科学家与工程师们,就一直奔跑在追求卓越的I/O性能的道路上。计算机每一次大跨越,就是一次I/O的脱...[2019/6/30]

不一样的go语言-玩转语法之一

不一样的go语言-玩转语法之一

这段时间为俗事所累,疲以应付,落下了不少想法,错过了更新的日子。这个专题开始之际,已经准备了不下十几个主题,而在写作的过程中,又有新想法与主题涌现出来。未来预计想写写的内容主要包括: 玩转语法系列 Context的来龙去脉 函数、闭包与范畴论的关系 线程与协程之争 通道的那些事 今天的玩转语...[2019/6/30]

在 Windows 中编译 Github 中的 GO 项目

1、相关软件与环境准备 1.1 GO 安装 下载地址,https: tudygolang.com/dl,选择 Windows 版,本文安装到 D:\Go 1.2 LiteIDE 安装 下载地址,http: liteide.org/cn/download/?可以找到去下载的地方。 本文下载的...[2019/6/30]

Go基础编程实践——字符串

修剪空格 strings包中的TrimSpace函数用于去掉字符串首尾的空格。 package main import ( "fmt" "strings" ) func main() { helloWorld := "...[2019/6/30]

对Golang import 导入包语法详解

package 的导入语法 写 Go 代码的时经常用到 import 这个命令用来导入包,参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用: fmt.Println( "我爱北京天安门" ) fmt 是 Go 的标...[2019/6/29]

go 下载非标准库包(部份包被墙了)到本地使用的方法

如下所示: import ( "golang.org/x/net/html" ) 在使用此包时,会导入失败,因为这不是go标准库中,但是由于域名被墙了所以翻墙可以下载此包,放入你的GOPATH路径下的 “golang.org/x/net”这个目录 具体步骤 下载...[2019/6/29]

goLang引入自定义包的方法

看完golang的基本语法后,为了模块化编程,试用了下golang的包管理,结果真踩了几个坑,总结一下吧。 一. 设置$GOPATH环境变量 golang和C或php不一样,不会自动查找当前路径下的文件,必须先在$GOAPTH里添加自己工程的路径; 二. 自定义包里面对外提供的API函...[2019/6/29]

go包管理

摘自: http: blueskykong.com/2019/02/18/go-dep-1/ https: www.cnblogs.com/apocelipe p/10295096.html#vcs-semver GOPATH和GOROOT GOROOT的目的就是告知go当前的安装位置,默认...[2019/6/28]

golang的time包管理

Time对象转换为string和时间戳调用Time对象的方法 转换为string:Time.Format(输出的格式) 转换为时间戳 :Time.Unix() 两者转换为Time对象的时候调用的是time包的方法 string转换:time.Parse("输出格式",st...[2019/6/28]

Go grpc 与 protobuf

现在很多微服务内部的通信协议都采用rpc,性能高,安全。而grpc则是google退出的rpc plus。 protobuf是传输协议,性能高,强大。 来一个server client的通信demo,感受一下这2个的魅力。 首先,我们要约定好接口和数据结构,起名helloworld.p...[2019/6/28]

Go - 变量声明

Go - 变量声明

目录 概述 数据类型 常量声明 变量声明 输出方法 推荐阅读 概述 在声明变量之前,咱们先了解下变量的数据类型,这篇文章主要涉及 字...[2019/6/28]

Go - 环境安装

目录 你好,Go语言 环境安装 目录结构 命令 开发工具 学习网址 小结 你好,Go语言 Go 是一个开源的编程语...[2019/6/26]

golang之defer

golang之defer

概述 对于资源释放,有很多不同的实现方式,不同语言也有不同的惯用方法。 C语言 :手动管理 Golang :defer Python :上下文管理器contexManager C++ : 作用域和析构函数 Rust :所有权和drop trait 如果了解上面几种语言的童鞋应该...[2019/6/26]

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