最近我遇到了一个在 docker 环境导入私有仓库的问题:一个 Golang 项目,使用 gitlab ci[1] 来发布,通过 gitlab runner[2] 调用 docker-compose[3] 来打包,但是在构建时失败了。让我们重回案发现场,看看问题是怎么产生的:首先是 .gitlab-ci.yml 文件,其相关代码片段内容如
题目:假设有一超长切片,元素类型为int,切片中的元素为乱序排列,现需查找切片中是否存在某个元素。要求:5秒内不管有没有查询到该值,都需停止正在运行的程序。使用多个goroutine来查找切片中是否存在该元素。找到该元素或超时后需立刻停止所有goroutine的执行。举例:设切片为[1,3,4,2,6,7,23,122...34,545,2321,4546,66],查找目标为123,如果切片中存在
转载
2023-10-06 18:25:29
35阅读
golang file 操作笔记
原创
2019-07-25 16:32:54
666阅读
golang读取文件 报错:open abi: The system cannot find the file specified
原创
2022-08-25 08:29:57
1696阅读
0x01 client-go1、简介Client-go是kubernetes官方发布的调用K8S API的golang语言包,可以用来开发K8S的管理服务、监控服务,配合前端展示,就可以开发出一款定制化的、可视化的管理或监控工具。目前最新版本为7.0,对应K8S的版本为1.10,访问链接:https://github.com/kubernetes/client-go其中client-go与K8S版
* readline.go
package main
import (
"fmt"
"os"
"bufio"
"io"
"io/ioutil"
"encoding/json"
"strings"
)
func fileForEachLine(path string, callback func(string)) {
var f *os.File
var err error
原创
2021-08-13 19:43:28
389阅读
mac下golang打包到Linux上执行报错:No such file or directory,但是可执行文件明明存在。
目录 GOLang开发环境搭建(Windows) 安装go 安装IDE: HelloWorld go 设置 GOROOT 和 GOPATH 设置变量: 遇见的错误 linux下安装go环境 Go基础编程:获取命令行参数 golang之net/http包简单...
转载
2020-08-03 20:13:00
251阅读
2评论
数组:相同数据类型的一组数据的集合数组长度不能修改数组可以通过下标(索引)访问元素数组默认初始化为零值定义govarvariable_nameSIZEvariable_type示例gopackagemainimport"fmt"funcmain(){vararr12stringvararr23intfmt.Printf("arr1:%v\n",arr1)//arr1:fmt.Printf("arr
原创
精选
2022-10-18 16:00:56
2078阅读
9评论
3.4、Golang函数Go语言函数特性1.函数分类:普通函数匿名函数方法2.函数不能重载,即不允许函数同名3.函数不能嵌套函数,但可以嵌套匿名函数4.函数可以赋值给变量5.函数可以作为参数传递给另一个函数6.函数的返回值可以是一个函数7.函数传参传递是参数的副本8.函数参数可以没有名称函数定义gofuncfunction_name(parameterlist)return_type{//函数体}
原创
2022-10-20 11:23:35
353阅读
代码示例: 004.struct类型 004.struct类型 1 type声明新类型 1 type声明新类型 1.1 type testInt func(int) bool // 声明了一个函数类型 1.1 type testInt func(int) bool // 声明了一个函数类型 1.2
原创
2021-07-26 14:16:52
311阅读
3.3、Golangmapkey:value键值对的数据结构容器语法格式go//声明变量,默认是nilvarmap_variablemapkey_data_typevalue_data_type//使用make函数varmap_variable=make(mapkey_data_typevalue_data_type)示例gopackagemainimport("fmt")funcmain(){/
原创
2022-10-20 11:23:05
193阅读
3.5、Golang指针指针取地址:&取值:指针地址:每一个变量都有一个地址,地址代表变量在内存中的位置Go语言中的值类型(int、float、bool、string、array、struct)对应的指针类型(int、int64、string)指针变量定义语法go//指针变量名指针类型varvar_namevar_type示例gopackagemainimport"fmt"funcmain(){/
原创
2022-10-22 17:57:50
644阅读
项目的结构:相同颜色是同级的 bean的配置文件的读取和一般文件的读取有点差别的 public static void getValue(String key){ //传入"time" Properties prop = new Properties();
转载
2018-08-17 11:03:00
373阅读
package mainimport ( "fmt" // "path" // "runtime" // "os" // "regexp" // "strings" // "time" "encoding/json" // "sort")func main() { Example()}type List struct { Url string Sou
原创
2021-07-09 13:06:21
153阅读
参考资料: http://m.yl1001.com/group_article/3231471449287668.htm http://tieba.baidu.com/p/3542454435?share=9105&fr=share http://m.blog.csdn.net/article/de
原创
2021-08-08 17:48:40
693阅读
切片:可变长度的数组自动扩容切片声明和数组类似,区别在于不添加长度govaridentifiertype切片是引用类型,可以使用make函数创建切片go//len是数组长度,也是切片的初始长度varslicetype=make(type,len)//简写slice:=make(type,len)//指定容量slice:=make(type,len,capacity)示例gopackagemaini
原创
2022-10-19 17:32:50
206阅读
gse是什么?Go高性能多语言NLP和分词库, 支持英文、中文、日文等, 支持接入 elasticsearch 和 bleve Gse是结巴分词(jieba)的golang实现,并尝试添加NLP功能和更多属性特征支持普通、搜索引擎、全模式、精确模式和 HMM 模式多种分词模式支持自定义词典、embed 词典、词性标注、停用词、整理分析分词多语言支持: 英文, 中文, 日文等支持繁体字NLP 和 T
转载
2023-09-01 06:59:57
438阅读
每个package可以有多个源码文件,但是必须位于同一层目录。package内可以有子目录,只不过子目录下就是另一个package的源码了。package内可以使用同一个package的所有资源,不需要像c一样先声明再使用。当import一个package后就可以使用其中的大写字母开头的函数和变量了。在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的包(pack
反射(reflect)是在计算机程序运行时,访问,检查,修改它自身的一种能力,是元编程的一种形式。在Java等语言中都很好地支持了反射。Golang也实现了反射,主要核心位于reflect包,官方文档为: https://golang.org/pkg/reflect/golang.org
本文将主要介绍Golang中的反射原理和支持的反射操作。1. reflect原理:结构体与
转载
2023-08-02 10:41:54
85阅读