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

Go语言中的常量

1 概述 常量,一经定义不可更改的量。功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率。从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改。例如当前处理器的架构类型,可以保证不被更改。 语法如下 2 定义单个常量 const 常量名 <可选的类型...[2018/10/29]

Go基础系列:数据类型转换(strconv包)

Go不会对数据进行隐式的类型转换,只能手动去执行转换操作。 简单的转换操作 转换数据类型的方式很简单。 valueOfTypeB = typeB(valueOfTypeA) 例如: 浮点数 a := 5.0 转换为int类型 b := int(a) Go允许在底层结构相同的两个...[2018/10/29]

go语言最快最好运用最广的web框架比较(大多数人不了解的特性)

令人敬畏的Web框架 如果你为自己设计一个小应用程序,你可能不需要一个Web框架,但如果你正在进行生产,那么你肯定需要一个,一个好的应用程序。 虽然您认为自己拥有必要的知识和经验,但您是否愿意自行编写所有这些功能的代码? 您是否有时间找到生产级外部包来完成这项工作? 您确定这将与您应用的其余部...[2018/10/29]

go语言的null值问题

go语言的null值问题

关于go语言数据库存储和显示null值的问题困扰了我很久,并且也和群友讨论过这个问题,但是都没有得到相对满意和全面的答案。最近FQ找了几篇相对详细和权威的文章,分享给大家,希望和大家一起进步,go go go!   文章一:Go语言:解决数据库中null值的问题(转载国人文章) &...[2018/10/29]

Go基础系列:流程控制结构

条件判断结构:if else 分支选择结构:switch case 循环结构:for break:退出for或switch结构(以及select) continue:进入下一次for迭代 虽然Go是类C的语言,但Go在这些流程控制语句中的条件表达式部分不使用括号。甚至有些时候使用括号会报错,但有...[2018/10/29]

go基础系列(5):数组

了解Python、Perl、JavaScript的人想必都知道它们的数组是动态的,可以随需求自动增大数组长度。但Go中的数组是固定长度的,数组一经声明,就无法扩大、缩减数组的长度。但Go中也有类似的动态"数组",称为slice数据结构,在下一篇文章会详细解释它。 Go中的数组...[2018/10/26]

修改并编译golang源码

最近为了做Hyperledger Fabric国密改造,涉及到了golang源码的改动。特将操作过程整理如下,以供参考: golang的源码安装其实比较简单,只需运行源码包中的脚本src/all.bash,等到出现类似以下字样就安装好了: Installed Go for linux/am...[2018/10/25]

Mac os安装golang开发环境

为了能够愉快地进行golang编程,我们需要安装以下几样东西: 包管理Homebrew 语言环境golang 版本管理git 虚拟器docker 编译器Goland 我将按照这个顺序叙述整个安装过程 docker 其实是可选的,它可以把应用程序打包为可移植的、自给自足的容器。这样一来,你...[2018/10/25]

Go基础系列(3):构建go程序

hello world 从一个简单的程序开始解释,将下面的内容放进test.go文件中,路径随意: package main import ( "fmt" ) func main() { fmt.Println("Hello World"...[2018/10/25]

golang环境搭建

目录 Golang的三种安装方式 下载 在Linux上安装 在Mac上安装 二进制包方式安装 PKG方式安装 学习一门编程语言总是从搭建这门语言的开发环境开始,作为一名以PHP为主要开发语言的后端开发者,我也一直想学习一门静态类型的编程语言,在了解了一些静态类型语言的特性后,最终我决定学习...[2018/10/25]

GOPATH

目录 GOPATH 代码目录结构规划 GOPATH 工作目录就是我们用来存放开发的源代码的地方,对应的就是Go里的GOPATH这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下,GOPATH环境变量的配置参考golang环境搭建,配置到/etc/profile或...[2018/10/25]

Go语言执行流程

Go语言执行流程

Go执行流程 如果是对源代码编译后,再执行,Go的执行流程如下图 go build生成的可执行文件会在当前目录内 如果是对源代码直接执行go run 源文件操作,Go的执行流程如下图 两种执行流程的方式说明 如果我们先编译生成了可执行文件,我们可以将该可执行文件拷贝到没有go开发环...[2018/10/25]

关于go语言的测试相关内容笔记

关于go语言的测试相关内容笔记

其实之前对于测试自己一直比较弱,不管是python的还是go的,关于测试这块并没有非常注重,这次就好好整理一下关于go的测试 单元测试 Go程序主要包含三类测试: 功能测试(test)、基准测试(benchmark,也称性能测试)以及示例测试 这里提一下,示例测试其实也是一种功能测试,只...[2018/10/25]

Go基础系列(4):导入包和初始化阶段

import导入包 搜索路径 import用于导入包: import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径去搜索包然后导入,这个相对路径是从GOROOT或GO...[2018/10/25]

go学习笔记(2):数据结构

Go语言不是一门面向对象的语言,没有对象和继承,也没有面向对象的多态、重写相关特性。 Go所拥有的是数据结构,它可以关联方法。Go也支持简单但高效的组合(Composition),请搜索面向对象和组合。 虽然Go不支持面向对象,但Go通过定义数据结构的方式,也能实现与Cla 相似的功能。 ...[2018/10/23]

Golang Gin 项目包依赖管理 godep 使用

Golang Gin 项目包依赖管理 godep 使用

Golang Gin 项目包依赖管理 godep 使用 标签(空格分隔): Go 在按照github.com/tool godep文档go get完包以后,调整项目结构为$GOPATH rc/$PROJECT_NAME/,同时使项目编译没有问题。执行godep save命令,出现了一系列包缺失...[2018/10/19]

gops —— Go 程序诊断分析工具

GitHub: https: github.com/google/gops 一个用于列出和诊断分析系统中正在运行的 Go 程序的命令行工具 安装 go get -u github.com/google/gops 命令帮助 执行 gops help 查看帮助文档: gops is a t...[2018/10/19]

全面了解golang string

全面了解golang string

string我们每天都在使用,可是对于string的细节问题你真的了解吗? 今天我们先以一个问题开篇。 你能猜到下面代码的输出吗? package main import ( "fmt" ) func main() { s := "测试" fmt.Println...[2018/10/17]

关于go v1.11安装后出现不能正常运行测试程序的问题

本人最近安装go1.11后出现上述问题,没有找到原因,可能之前安装过的旧的版本在windows下环境变量设置出现了问题,修改后仍然无效,后来删除所有安装版本,及go环境变量,重新下载1.10版本进行安装,后正常 [2018/10/12]

Golang实现web文件共享服务的示例代码

Golang实现web文件共享服务的示例代码

本文主要介绍了Golang实现web文件共享服务的示例代码,分享给大家,具体如下: 很简单,只需要两行代码。 http.Handle("/", http.FileServer(http.Dir("./"))) 把当前文件目录作为共享目录 http.ListenAndSer...[2018/10/12]

Go 入门 - 包,函数和变量

主要内容来自中文版的同名教程Go语言之旅 其目的为总结要点 包,函数和变量 包 import 语法,多个用括号换行扩起,包之间不需要间隔符,用引号引起 import ( "fmt" "math/rand" ) 官方认为分组导入比多个导入更好 用`.`引用包内对象,仅有...[2018/10/11]

golang实现简易的分布式系统方法

golang实现简易的分布式系统方法

本文介绍了golang实现简易的分布式系统方法,分享给大家,具体如下: 功能 能够发送/接收请求和响应 能够连接到集群 如果无法连接到群集(如果它是第一个节点),则可以作为主节点启动节点 每个节点有唯一的标识 能够在节点之间交换json数据包 接受命令行参数中的所有信息(将来在我们系统升级时将会很...[2018/10/10]

使goroutine同步的方法总结

前言: 在前面并发性能对比的文章中,我们可以看到Golang处理大并发的能力十分强劲,而且开发也特别方便,只需要用go关键字即可开启一个新的协程。 但当多个goroutine同时进行处理的时候,就会遇到同时抢占一个资源的情况(并发都会遇到的问题),所以我们希望某个goroutine等待另一个go...[2018/10/9]

2018.09.22 上海大学技术分享 - An Introduction To Go Programming Language

老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这次分享。另外与会的同学大多都是大二大三的“萌新”,考虑到受众水平和技术分享的性质,所以实际上这次分...[2018/10/8]

Golang JSON的进阶用法实例讲解

痛点 json 是当前最常用的数据传输格式之一,纯文本,容易使用,方便阅读,在通信过程中大量被使用。  你是否遇到过json中某个字段填入某种类型都适合而陷入两难境地? (例如:定义了一个port字段,你却不知道是填入 8080 ,还是 “8080” 的尴尬局面) 你...[2018/9/27]

Golang编译器介绍

cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。 在谈到编译器时,有时可能会听到 前端(front-end)和 后端(back-end)这两个术语。粗略地说,这些对应于我们将在此列出的前两个和后两个阶段...[2018/9/27]

Derek解读Bytom源码-启动与停止

作者:Derek 简介 Github地址:https: github.com/Bytom/bytom Gitee地址:https: gitee.com/BytomBlockchain/bytom 本章介绍bytom代码启动、节点初始化、及停止的过程 作者使用MacOS操作系统,其他平台也...[2018/9/25]

golang包管理解决之道——go modules初探

golang的包管理是一直是为人诟病之处,从golang1.5引入的vendor机制,到准官方工具dep,目前为止还没一个简便的解决方案。 不过现在go modules随着golang1.11的发布而和我们见面了,这是官方提倡的新的包管理,乃至项目管理机制,可以不再需要GOPATH的存在。 &...[2018/9/25]

在go modules里使用go get进行包管理

上一篇文章里我们介绍了go modules的初步使用,现在我们来更深入的了解一下如何使用go get在module中管理依赖。   module下的包管理 首先我们介绍过go mod edit修改go.mod,然而它有两点缺陷: 首先是它的-require必须接受“package...[2018/9/25]

使用Go语言操作MySQL数据库的思路与步骤

最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork。 软件环境:Goland、Navicat for MySQL。 一、实现思路 1,我的总体设计思路是先写出连接数据库和关闭数据库的逻辑...[2018/9/25]

使用Go语言+Protobuf协议完成一个多人聊天室

软件环境:Goland  Github地址 一、目的 之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本。 主要目的是为了掌握Protobuf的使用。   二、设计思路 通过Pr...[2018/9/25]

go基础语法-变量定义

1.基础定义 变量类型在变量名后 var a int var s string 2.定义并赋值 var a,b int = 1,2 var s string="abc" 3.类型推导 不用定义变量类型 var a,b,c,s = 1,2,true,"deduction" 4.简写(只能在函...[2018/9/25]

Go Code Review Comments 译文(截止2018年7月27日)

Go Code Review Comments 译文(截止2018年7月27日)

持续更新中… 原文最新链接 https: github.com/golang/go/wiki/CodeReviewComment 5a40ba36d388ff1b8b2dd4c1c3fe820b8313152f Github译文链接 https: github.com/wddpct/article...[2018/9/25]

Go学习笔记01

Go学习笔记01

前言 Go(Golang)是Google开发的一种强静态类型、编译型、并发型,并具有垃圾回收功能的编程语言,所以使用Go编写的程序相比nodejs之类的弱类型语言,可以提前在编译阶段发现错误,而且由于没有类似JVM运行时,所以编译后的程序不是中间语言而是机器代码。总之,它类似c/c++拥有接近它们...[2018/9/25]

vscode调试golang环境搭建及配置

准备VSCode 在官网下载最新版的VSCode: 安装Golang插件 打开扩展面板 VSCode->查看->扩展 找到Go插件 在搜索框里输入Go, 找到第二行写有 Rich Go language support for Visual Studio Code的插件,...[2018/9/25]

解决$ go get google.golang.org/grpc上的包被墙的问题

今天get grpc包的时候 $ go get google.golang.org/grpc 发现拉不下来被墙了,在github.com上搜索grpc,clone到工程目录中,运行命令 go install google.golang.org/grpc 拿到了一些丢失的依赖包,比如...[2018/9/25]

在go modules中使用replace替换无法直接获取的package(golang.org/x/...)

在go modules中使用replace替换无法直接获取的package(golang.org/x/...)

上一篇里我们介绍了使用go get进行包管理。 不过因为某些未知原因,并不是所有的包都能直接用go get获取到,这时我们就需要使用go modules的replace功能了。(当然大部分问题挂个梯子就能解决,但是我们也可以有其它选项)   使用replace替换package ...[2018/9/25]

go语言Mutex与RWMutex用法

go语言Mutex与RWMutex用法

Mutex(互斥锁) Lock()加锁,Unlock()解锁 适用于读写不确定,并且只有一个读或者写的场景 例: package main import ( "sync" "time" ) var ( l *sync.Mutex i int ) fu...[2018/9/25]

Go学习

Go学习

Go学习 Go语言优势 可直接编译成机器码,不依赖其他库。 静态类型语言 语言层面支持并发 内置runtime,支持垃圾回收 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数其他语言见过的特性:继承、重载、对象...[2018/9/25]

Go学习笔记02

Go学习笔记02

前言 上篇内容,介绍了如何在不同的系统上安装 Go 开发环境和部分参数的配置,也简单介绍了 package 的概念、导入方式和我对包的初始化过程的理解,关于初始化顺序的理解,可能有错误,后期会有修改,也希望大家能指出来,帮助我学习下,谢谢。 这篇内容,讲些基础的知识,比如变量的声明方式、变量的重...[2018/9/25]

go 源码学习之---Tail 源码分析

已经有两个月没有写博客了,也有好几个月没有看go相关的内容了,由于工作原因最近在做java以及大数据相关的内容,导致最近工作较忙,博客停止了更新,正好想捡起之前go的东西,所以找了一个源码学习 这个也是之前用go写日志收集的时候用到的一个包 :github.com/hpcloud/tail, ...[2018/9/25]

初识go的tomb包

在分析github.com/hpcloud/tail 这个包的源码的时候,发现这个包里用于了一个另外一个包,自己也没有用过,但是这个包在tail这个包里又起来非常大的作用 当时并没有完全弄明白这个包的用法和作用,所以又花时间找了这个包的使用和相关文档,其中看了https: blog.labix...[2018/9/25]

go开源项目influxdb-relay源码分析(一)

influxdb-relay项目地址: https: github.com/influxdata/influxdb-relay,主要作为负载均衡节点,写入多个influxdb节点,起到高可用效果。 不多说,开搞~ 1、main.go 1 package main 2 ...[2018/9/25]

第一节 如何用Go实现单链表

第一节 如何用Go实现单链表

一、概念介绍 下面这副图是我们单链表运煤车队。 每节运煤车就是单链表里的元素,每节车厢里的煤炭就是元素中保存的数据。前后车通过锁链相连,作为单链表运煤车,从1号车厢开始,每节车厢都知道后面拉着哪一节车厢,却不知道前面是哪节车厢拉的自己。第一节车厢没有任何车厢拉它,我们就叫它车头,第五节车厢...[2018/9/25]

第六节 Go数据结构之集合

一、什么是集合 集合就是不同对象的无序聚集。那么链表和集合有什么关系呢?我们来变个魔术。如下图是各种颜色组成的链表: 下面我们一步步把链表变成集合。 第一步砍去链接 第二步去掉重复 第三步放到一个框里摇一摇就成集合了 可以看出集合有这些特点: 无序:链表去掉链接,就是去...[2018/9/25]

Go语言简单学习

GO 支持goroutine 和通道,并且推荐使用消息而不是共享内存来进行并发编程,总体来说,Go语言是一个非常现代化的语言,精小但非常强大 Go语言的主要特性: 1、自动垃圾回收 2、更丰富的内置类型 3、函数多返回值 4、错误处理 5、匿名函数和闭包 6、类型和接口 7、并发编程 8、反射 9...[2018/9/25]

Ethereum(1)—— 基本介绍

1 环境安装 安装Ethereum 协议的Go语言的最新实现。 git clone https: github.com/ethereum/go-ethereum.git make all cd build/bin sudo cp *&...[2018/9/25]

Golang教程之不可重入函数的实现方法

Golang教程之不可重入函数的实现方法

函数function Go函数不支持嵌套、重载和默认参数 但支持以下特性: 无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包 前言 一个不可重入的函数就是一个在任何时间点只能执行一次的函数,不管它被调用了多少次,以及有多少goroutines。 本篇文章说明了阻塞不可重入...[2018/9/25]

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

本站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号