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

go开发环境

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

Go - 循环

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 集合

Go - Map 集合

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

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引发的思考

一个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 结构体

目录 概述 声明结构体 生成 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 项目

在 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

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

在 Ubuntu 开启 GO 程序编译之旅

本文将使用 putty 连接到一台阿里云 Ubuntu 16.04 服务器,在其上安装 go 语言的编译环境,旨在呈现从安装到“你好,世界!”涉及的方方面面,希望完成这个过程无须觅它处。 1. 安装 方式一使用 apt-get apt-get install golang-go 执行完成之后,...[2019/6/26]

golang开发:环境篇(六) Go运行监控Supervisord的使用

为什么要使用Supervisord 17年第一次写Go项目的时候,用Go开发项目倒没没费多大劲,很快就开发完成了。到了在测试环境部署的时候,由于不知道有 Supervisord 这个软件,着实花了些功夫。总不能跟开发环境一样,直接执行编译生成的二进制文件吧,即使 后台执行了,万一它挂了,没人知道,...[2019/6/24]

golang gRPC(持续更新)

如何开启 gRPC 日志 设置 GRPC_GO_LOG_SEVERITY_LEVEL 环境变量, 可选项:["info", "warning", "error"], 日志将打印到 stderr 还有一个环境变量 GRPC_GO_LOG_V...[2019/6/21]

[Go] golang的用途和windows搭建环境

Golang核心编程: 区块链研发工程师(分布式账本技术,互联网数据库技术,特点是去中心化) Go服务器端/游戏软件工程师(现在主流是C C++,处理日志,数据打包,文件处理,美团后台流量支撑,处理大并发;游戏后台数据通道) Golang分布式/云计算软件工程师(盛大云,cdn,京东...[2019/6/18]

谈谈Go语言中的内存重排

目录 什么是内存重排 CPU 重排 编译器重排 为什么要内存重排 内存重排的底层原理 总结 参考资料 ...[2019/6/17]

PHP转Go系列:map映射

PHP转Go系列:map映射

映射的定义 初识映射会很懵,因为在PHP中没有映射类型的定义。其实没那么复杂,任何复杂的类型在PHP中都可以用数组表示,映射也不例外。 $array['name'] = '平也'; $array['sex'] = '1'; $arr...[2019/6/17]

Go语言交叉编译工具gox

基本介绍 交叉编译是为了在不同平台编译出其他平台的程序,比如在Linux编译出Windows程序,在Windows能编译出Linux程序,32位系统下编译出64位程序,今天介绍的gox就是其中一款交叉编译工具。 配置环境 首先配置好Go语言的环境变量,并在~/.bash_profile中设置,简...[2019/6/14]

PHP转Go系列:数组与切片

数组的定义 用过PHP的同学应该很清楚,无论多么复杂的数据格式都可以用数组来表达,什么类型的数据都可以往里塞,它是工作必备的一部分,使用很简单,易用程度简直变态。 $array = [1, 'name', ['sex' => '男']]; ...[2019/6/13]

Gin上传文件到MongoDB gridfs

目录 上传图片 下载图片 上传图片 func imagePost(c *gin.Context) { image, err := c.FormFile("file") ...[2019/6/12]

深度解密Go语言之context

目录 什么是 context 为什么有 context context 底层实现原理 整体概览 接口 Context canceler ...[2019/6/12]

PHP转Go系列:字符串

字符串的赋值 在PHP中,字符串的赋值虽然只有一行,其实包含了两步,一是声明变量,二是赋值给变量,同一个变量可以任意重新赋值。 $str = 'Hello World!'; $str = 'hia'; Go语言实现上述两步也可以用一行语句解决,就是通过标识var...[2019/6/11]

347
16
记录数:1098 页数:15/22首页上一页10111213141516171819下一页尾页
 友情链接:直通硅谷  点职佳  北美留学生论坛
加载更多

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号