go install
输入go install 报这个错误can't load package: package .: no Go files in D:\go\goword 这改怎么修改 ...阅读全文
输入go install 报这个错误can't load package: package .: no Go files in D:\go\goword 这改怎么修改 ...阅读全文
建站宝盒是针对中小企业用户建站需求而打造的一款自助建站系统。用户只需通过在线申请账号和密码的方式建网站,不用自己上传源代码,只需登录网站管理系统即可选择网站模板风格、上传文字和图片内容、设置网站栏目、维护网站内容,其针对不同行业特点精心设计的网站栏目和网页风格。 此外,建站宝盒支持三种语言中文版网站、繁体版网站、英文版网站、运用功能强大的管理平台。建站宝盒大大节省建立网站的成本,极大地缩短了企业建站的时间。  简单易用 强大灵活 传统网站建设做出的网站管理后台功能简单,后期维护、网站建设周期长,修改...阅读全文
1. 什么是SQL Server多版本 微软的SQL Server除了不断迭代的版本升级外,还有从功能差异上分为几个不同的版本。 SQL Server 2012有企业版、商务智能版、标准版、开发版、Web版,当然还有一个入门版本Express。SQL Server2014/2016,只有企业版、标准版、开发版、Web版,也有一个入门版本Express。这些版本的应用场景是不同的,这里有详细的解释: Enterprise 作为高级版本,SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还具有端到端的商业智能 ,可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据。 Standard SQL Server...阅读全文
```go package main import ( "fmt" ) func main() { var arr = []int{6, 5, 5, 3, 1, 8, 7, 2, 4, 9} start := 0 end := len(arr) - 1 fmt.Println(arr) QuickSortRecursive(arr, start, end) } func QuickSortRecursive(arr []int, start int, end int) { if start >= end { return } k := arr[end] left := start right := end - 1 for left < right { for arr[left] < k &&...阅读全文
写在前面 开发过程中会经常处理集合这种数据结构,简单点的处理方法都是使用内置的map实现。但是如果要应对大量数据,使用map占用内存大的问题就会凸显出来。内存占用高又会带来一些列的问题,这里就不展开说了。还有就是,大量数据存放于map,查找的哈希算法消耗也会很高。这时就该考虑对数据结构进行优化。之前浏览awesome-go时发现了一种叫bitset的数据结构,今天就介绍一下它。 bitset 简介 首先这是一个数据结构。从名字set不难发现,这是一个集合的数据结构。bit的含义也比较好懂,通过set是通过bit实现的。如果你需要一个集合,正好集合内的元素都是正整数,那么用这个就没错了。 Example import "github.com/willf/bitset" var b bitset...阅读全文
Festival & Fuck, Coding, Inner depth, Sister and Others. 某些文章会提到《为什么Go语言这么不受待见》,《真的没必要浪费心思在 Go 语言上》,《我为什么放弃Go语言》,《Why worse is better》等话题。经常重温这些话题,每次都会有新发现。最忌手里有了一个语言,心里便容不下另一个语言。 忽略细节、语法或者设计,Go语言各种好用。考虑到这些因素,Go被喷出翔都不为过。 本文不打算在细节、语法或者设计上扯淡,只举些例子,说一说如何用Go语言写出还凑合的代码。 类、对象、属性,可能还夹杂着一点设计模式 //代码来自 https://github.com/xgdapg/xconn/blob/master/xconn.go,已验证...阅读全文
Overview doublejump 的核心是 Google Jump 一致性哈希算法,这个实现弥补了该算法的最大缺点:不能删除节点。 传送门 https://github.com/edwingeng/doublejump Benchmark BenchmarkDoubleJumpWithoutLock/10-nodes 50000000 27.6 ns/op BenchmarkDoubleJumpWithoutLock/100-nodes 30000000 42.7 ns/op BenchmarkDoubleJumpWithoutLock/1000-nodes 30000000 54.1 ns/op BenchmarkDoubleJump/10-nodes 20000000 72.9 n...阅读全文
。不过在此之前,开发者们已经可以提前参与测试体验。上周,Canonical 向公众测试人员推送了每日构建的 ISO 镜像,意味着 Ubuntu 19.10 已正式进入开发阶段。它将预装 Python 3.7 和 GCC 9 系列编译器,不过资源库中也提供了 Python 3.8 版本。 image Ubuntu 19.10 将于 10 月 17 日正式发布(题图 via Softpedia) 今年 8 月份的时候,我们有望迎来许多组件的升级,比如 Golang 1.12 和 OpenJDK 11 。 此外 Unicode 组件(ICU 软件包)将在 Ubuntu 19.10...阅读全文
通过源码编译kubernetes时,可以使用go build(或go install)单独编译某个组件,例如对于apiserver,可以cd到k8s.io/kubernetes/cmd/kube-apiserver,然后执行: go install -i -v -gcflags='-N -l' 编译结果安装到GOBIN下,即GOBIN/kube-apiserver,使用这种方式编译时有一个小问题,版本号是一段奇怪的字符串: kube-apiserver --version Kubernetes v0.0.0-master+$Format:%h$ 在遇到一些需要依赖kubernetes版本号的场景就会有问题,例如使用helm安装chart时,有些chart对kubernetes版本号有要求,就...阅读全文
```go package main import ( "bufio" "fmt" "github.com/Shopify/sarama" "io" "os/exec" "strings" ) var ( asyncProducer *sarama.AsyncProducer ) func main() { execCommand() } func execCommand() { cmd := exec.Command("/fabio", "-cfg", "/etc/fabio/fabio.properties") fmt.Println(cmd.Args) stdout, err := cmd.StdoutPipe() if err != nil { f...阅读全文
(以 Ubuntu 桌面版开发环境为例)步骤1: 安装Go语言编译器 sudo apt install golang-go 上述命令在Ubuntu 17.04下默认将安装1.7版本的Go编译器. 安装完毕后可以运行 go version查看编译器版本号. 步骤2: Hello world 程序测试创建任意目录以便分类存放测试程序, 然后在自己新建的目录下创建一个测试程序, 这里我们新建一个文件并保存为 hello.go, 内容如下: package main import "fmt" func main(){ fmt.Println("hello world\n") } 进入Linux终端窗口, cd命令切换到 hello.go 所在的目录下, 输入go build命令编译源代码, 得到一个...阅读全文
第一次用nosql 感觉挺方便的 但是不会修改 与 删...阅读全文
说明:网上找了一圈好像没有rabbmitmq连接池的维护比较好的包,索性按照整理出来的自己写了一个简易版的,希望各位大神继续完善,目前只是实现了连接的一部分,具体tabbmitmq 的操作 按照 amqp的说明操作即可这里有大部分的ampq的实例https://blog.csdn.net/lastsweetop/article/details/91038836 /*************************************************** * @Time : 2019/11/21 6:46 下午 * @Author : ccoding * @File : rabbmitmq * @Software: GoLand **************************...阅读全文
package testfunc import( "fmt" ) type Test struct{ Name string Age int } /*type Intio interface { Stringtest() string }*/ func (this Test) Stringtest(){ fmt.Println(this.Name) } func (this Test) Stringtest2(){ fmt.Println("Stringtest2",this.Name) } func (this *Test) Stringtest1(i int){ this.Age=i fmt.Println(this.Age) } func GetNumArgs(args []strin...阅读全文
操作系统:Ubuntu 16.041、安装dockerapt-getinstall-ydocker.io2、安装docker-composeapt-getinstall-ydocker-compose3、安装gocd /usr/local/ wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz解压缩,解压后文件夹是go创建go的根目录,并修改配置文件mkdir/opt/gopathvi /etc/profile加入下面内容exportPATH=$PATH:/usr/local/go/binexportGOPATH=/opt/gopath使配置立即生效source/etc/profile4、下载fabric源...阅读全文
真实比特币序列化1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374package mainimport ( "bytes" "encoding/binary" "log" "fmt" "encoding/hex" "crypto/sha256")//将类型转化为了字节数组func IntToHex(num int32) []byte{ buff := new(bytes.Buffer)//binary.LittleEndian 小端模式 err:= binary.Wr...阅读全文
CI/CD 是什么这里就不多介绍了。下面是我个人使用 GItHub + Travis 集成的 CI/CD 过程总结。 开发语言:golang 开发环境:Ubuntu 18.04 1. 安装 GitHub CI 平台插件。 github 支持很多的CI应用可以跳到 这里进行选择 我这里选择的是 Travis CI 20190903222024.png 点击 Travis CI 选择 下面的 Open Source (提供免费版),并点击 Install it for free。 如下图: 20190903222237.png 2. 选择 github repositories 接着根据页面的步骤接着执行安装插件操作即可。最后在GitHub的 settings->Applications 中找到...阅读全文
package main import ( "fmt" "sync" ) func main() { var wg sync.WaitGroup print5 := func(c *chan int, i int) { defer wg.Done() for j := i; j < i+5; j++ { *c <- j } } for i := 1; i < 75; i += 5 { wg.Add(1) ch := make(chan int, 5) go print5(&ch, i) for j := 0; j < 5; j++ { fmt.Println(<-ch) } } wg.Wait() } 输出如下, image.pn...阅读全文
计算机组成:CPU,存储设备,I/O设备,内存 linux发行版:slackware:SUSE Linux Enterprise Server (SLES)OpenSuse桌面debian: ubuntu, mintredhat: RHEL: RedHat Enterprise LinuxCentOS:兼容RHEL的格式Fedora:每6个月发行一个新版本ArchLinux:轻量简洁Gentoo:极致性能, 不提供传统意义的安装程序Linux的哲学思想:一切皆文件 在linux系统中,目录,配置文件,硬盘等等都是用文件来表示的 linux命令:pwd:显示当前工作目录echo:回显ifconfig:查看网卡信息tty:查看当前终端startx:切换图形界面export:设置或者显示系统环境变...阅读全文
接口 接口的定义 接口定义了一个对象化的行为规范 只定义规范,不实现 具体的对象需要实现规范的细节 实践 type 定义接口 interface 接口里面是一组方法签名的集合 type Animal interface { Talk() Eat() Run() } 实现 一个对象只要包含接口中的方法,那么就实现了这个接口 接口类型的变量可以保存实现该接口的任何类型的实例 type Animal interface { Talk() Eat() Run() } type Dog struct { name string } //一个对象只要包含接口中的方法,那么就实现了这个接口 func (d *Dog) Eat() { fmt.Printf("%s is eating\n",d.name) ...阅读全文
package main import ( "fmt" "math/rand" ) // 如果数量小于13直接用插入排序 func SortForMerge(arr []int, left, right int) { for i:=left; i<=right; i++ { temp := arr[i] var j int for j=i; j>left && temp < arr[j-1]; j-- { arr[j] = arr[j-1] } arr[j] = temp } } func swap(arr []int,i, j int) { // 数据交换 arr[i], arr[j] = arr[j], arr[i] } func QuickSortX(arr []int, left, ...阅读全文
学习Go语言的第一步当然是要先安装Go语言的环境,毕竟,没有这个环境咱们什么都做不了。 但是在安装环境之前咱们先了解一下Go涉及到的环境变量。 这里介绍几个比较常用的Go语言环境变量。 GOROOT Go的安装路径,windows默认安装在'c:/go'路径下,Linux/macos下默认安装在'~/go'路径下 GOPATH Go 语言源码文件、包文件和可执行文件的路径,换句话说,GOPATH指定的是存放项目相关的文件路径 GOOS 电脑的操作系统标识。如Mac下为“darwin“,windows下为”windows“ GOARCH 电脑的处理器架构,如386,arm或amd64 GOBIN 编译文件的安装位置,默认$GOROOT/bin 下面开始今天的正题,安装Go环境 Go语言的安装过...阅读全文
需求和思路 在一般的小项目或者一个小软件,例如客户端之类的小程序中,可能会需要数据的持久化.但是使用一般的数据库(Mysql)之类的不合适.使用sqlite3这种嵌入式的是个较好的方法,但是Go语言中sqlite3的库是C语言的,Cgo不支持跨平台编译.正是由于这种需求,才想到使用json格式将数据直接保存在文件中.具体的思路是怎么样呢? 在Go语言中如果要将数据转化成json格式的话,有两种格式 struct 和 map. 如果同时需要增删查改功能的话,将map作为中间格式是比较合适的.接下来我们就来实现它. 查询操作 这种操作的实现比较简单,直接将文件中的数据读取出来,使用json库反序列化就可以了. 代码如下 : type Product struct { Name string `j...阅读全文
/** * 简化版桶算法 * 通过一维数组保存对应数字在一维数组中出现的个数,然后遍历一维数组达到排序的效果 * 这里一位数组是排序列表的范围,必须10以内的数字列表排序, 则一维数组大小为11 (N+1) * * 涉及知识点: * @随机数功能 * @时间处理和格式化 */ package main import ( "fmt" "math/rand" "time" ) func main() { var scoreList [11]int score := [5]int{5, 3, 5, 2, 8} for _, v := range score { scoreList[v]++ } fmt.Println(scoreList) var result []int // fmt.Print...阅读全文
技术&产品周报应用建设维基时代APP v1.2.0发布:①维基时代国际版上线。(100%)②维基时代钱包更换新节点。(100%)③维基时代:任意第三方应用可调起维基时代统一签名接口,进一步提升开发者友好性。④维基时代“发现”版块上线。⑤用户行为数据统计计划上线。T2D2建设CTO陈晓东在CSDN平台直播分享《区块链技术架构与应用架构》,共119人参与直播答疑环节。完成Baas平台智能合约链上数据查询接口。 (100%)为海外开发者团队提供智能合约开发技术支持。(80%)为提升开发者开发效率的智能合约IDE工具 前端开发中。(50%)WRC20标准的智能合约demo持续优化。 (50%)区块链浏览器原型设计。(50%)公链建设解决golang钱包库投票接口相关问题。(100%)升级签名算法以提...阅读全文
Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。 JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。 Go 的模块版本化 对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。 Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y....阅读全文
Cannot ssh into a running pod/container – rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused “process_linux.go:110: decoding init error from pipe caused \“read parent: connection reset by peer\“” command terminated with exit code 126 #21590 一、Bug的影响 如果你使用的是 CentOS7,需要用到 kubectl exec ...阅读全文
Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。Go 的模块版本化对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y.Z的语义...阅读全文
Go 环境变量export GOROOT=$HOME/goexport PATH=$PATH:$GOROOT/binexport GOPATH=$GOROOT/src:$HOME/Applications/Go安装目录清单/bin:包含可执行文件,如:编译器,Go 工具/doc:包含示例程序,代码工具,本地文档等/lib:包含文档模版/misc:包含与支持 Go 编辑器有关的配置文件以及 cgo 的示例/os_arch:包含标准库的包的对象文件(.a)/src:包含源代码构建脚本和标准库的包的完整源代码(Go 是一门开源语言)/src/cmd:包含 Go 和 C 的编译器和命令行脚本文档查看go doc fmt其它工具go install 是安装 Go 包的工具。主要用于安装非标准库的包文件...阅读全文
导语 作者李志宇,腾讯云后台开发工程师,日常负责集群节点和运行时相关的工作,熟悉 containerd、docker、runc 等运行时组件。近期在为某位客户提供技术支持过程中,遇到了 containerd 镜像丢失文件问题,经过一系列分析、推断、复现、排查,最终成功找到根因并给出解决方案。现将整个详细处理过程整理成文分享出来,希望能够为大家提供一个有价值的问题处理思路以及帮助大家更好地理解相关原理。 containerd 镜像丢失文件问题说明 近期有客户反映某些容器镜像出现了文件丢失的奇怪现象,经过模拟复现汇总出丢失情况如下: 某些特定的镜像会稳定丢失文件; “丢失”在某些发行版稳定复现,但在 ubuntu 上不会出现; v1.2 版本的 containerd 会文件丢失,而 v1.3 不...阅读全文