05 2020 档案
摘要:import 导入包 包的搜索顺序: import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径去搜索包然后导入,这个相对路径是从GOROOT或GOPATH(workspace)下的src下开始搜索的。 GOROOT 是go 的安装目录 GOPATH 是项
阅读全文
摘要:JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式,因简单、可读性强被广泛使用。 Go的标准包encoding/json对JSON的支持 JSON编码即将Go数据类型转换为JSON字符串 map转json package mai
阅读全文
摘要:FileInfo接口 package main import ( "fmt" "os" ) // FileInfo 接口文件的信息包括文件名、文件大小、修改权限、修改时间等。 func main() { filePath:="C:\\Users\\sixinshuier\\Desktop\\分布式训
阅读全文
摘要:error 接口 type error interface(){ Error() string } 在Go语言中处理错误的方式通常是将返回的错误与nil进行比较。nil值表示没有发生错误,而非nil值表示出现错误。如果不是nil,需打印输出错误。 package main import ( "err
阅读全文
摘要:接口定义 type 接口名 interface{ 方法1(参数列表) [返回值] 方法2(参数列表)[返回值] } 接口实现 func (变量 结构体类型)方法1 ([参数列表])(返回值){ } func (变量 结构体类型)方法2([参数列表])(返回值){ } package main imp
阅读全文
摘要:方法 Go语言同时有函数和方法,方法的本质是函数,但是方法和函数又有所不同。 函数(function)是一段具有独立功能的代码,可以被反复多次调用,从而实现代码复用。 方法(method)是一个类的行为功能,只有该类的对象才能调用。 定义: func(接收者 接收者类型)方法名(参数列表)(返回值列
阅读全文
摘要:Go语言的面向对象 其他编程语言大多使用关键字“类”(class)来定义封装对象,表示该类的具体特征,然而Go并不是一个纯面向对象的编程语言。Go语言采用更灵活的“结构体”替代了“类”。 Go语言并没有提供类(class),但是它提供了结构体(struct),方法(method)可以在结构体上添加。
阅读全文
摘要:如何自动下载所有依赖包? 大部分情况下大家下载 Go 项目都是使用go get命令,它除了会下载指定的项目代码,还会去下载这个项目所依赖的所有项目。 但是有的时候我们的项目由于各种原因并不是通过go get下载的,是通过git clone下载的,这样代码下下来就没有依赖包了,没办法编译通过的。这样的
阅读全文
摘要:map的value可以是任何数据类型。map和切片一样,也是一种引用类型。 map声明: (1)使用var关键字定义map var 变量名 map[key类型] value 类型 (2)使用make()函数 变量名:= make(map[key类型] value 类型) map的初始化赋值和遍历 p
阅读全文
摘要:场景: 启动应用程序时,需要传入系统参数。例如:./start --b /notebook --p true --n 8 package main import ( "fmt" flag "github.com/spf13/pflag" ) func main() { home_dir:= flag
阅读全文
摘要:现象 在执行go get -v github.com/spf13/cobra/cobra 时,报go get golang.org/x/text 拉取失败问题 解决方法: 在 ${gopath}/src/golang.org/x 目录下 git clone https://github.com/go
阅读全文
摘要:Go语言的函数本身可以作为值进行传递,既支持匿名函数和闭包,又能满足接口。 函数声明 func 函数名 (参数列表)(返回参数列表){ // 函数体 } func funcName(parametername type1,parametername type2 ...)(output1 type1
阅读全文
摘要:数据类型转换 Go语言采用数据类型前置加括号的方式进行类型转换,格式如:T(表达式)。T表示要转换的类型;表达式包括变量、数值、函数返回值等。 var a int =100 b := float(a) 常量 常量中的数据类型只可以是布尔型、数字型(整型、浮点型和复数型)和字符串 const 标识符
阅读全文
摘要:基本数据类型: 整型、浮点型 float32 float64、复数型(数学中的复数)、布尔型、字符串、字符(byte、rune)。 复合数据类型: 数组(array)、切片(slice)、映射(map)、函数(function)、结构体(struct)、通道(channel)、接口(interfac
阅读全文
摘要:GO变量 Go 语言的变量名由字母、数字、下画线组成,首个字符不能为数字; Go 语法规定,定义的局部变量若没有被调用会发生编译错误。 变量的声明 var 变量名 变量类型 批量声明变量 var ( a int //默认是0 b string //默认是空字符串 c [] float32 //默认是
阅读全文
摘要:可见性 Go语言中,使用大小写来决定标识符(常量、变量、类型、接口、结构或函数)是否可以被外部包所调用。 大写字母开头,那么其对象就可以被外部包的代码所使用,如同public。 小写字母开头,则对包外是不可见的,但是它们在整个包的内部是可见并且可用的,如同private。 go环境变量配置 (GOR
阅读全文
摘要:package main /** package main表示一个可独立执行的程序,每个Go应用程序都需要包含一个名为main的包, 并且该包包含一个叫main()的函数(该函数是Go可执行程序的执行起点,既不能带参数,也不能定义返回值)。 */ import "fmt" //import语句用于导
阅读全文
摘要:设置 prefix_regex: true,即prefix就可以设置成正则表达式 apiVersion: getambassador.io/v2 kind: Mapping metadata: name: qotm spec: prefix: "/(v1|v2)/qotm/.*" prefix_re
阅读全文
摘要:官方文档:https://www.getambassador.io/docs/latest/topics/using/cors/ Cross-Origin Resource Sharing-CORS CORS的配置可以设置在ambassador的Module或者Mapping中,当CORS设置在Mo
阅读全文
摘要:Ambassador的熔断机制的定义 circuit_breakers: - priority: <string> max_connections: <integer> max_pending_requests: <integer> max_requests: <integer> max_retri
阅读全文
摘要:金丝雀部署:Canary Releases ambassador使用加权循环,在多个服务之间路由流量。收集所有服务的完整指标,以便比较canary和production的相对性能。这个weight的值在0~100%之间。 apiVersion: getambassador.io/v2 kind: M
阅读全文
摘要:自动重试定义: retry_policy: retry_on: <string> num_retries: <integer> per_try_timeout: <string> retry_on:必输项,可填如下:5xx, gateway-error, connect-failure, retri
阅读全文
摘要:官方文档:https://www.getambassador.io/docs/latest/topics/using/intro-mappings/#resources Ambassador 通过Mapping资源,设置应用程序的映射关系。 mapping与service的映射关系 Required
阅读全文
摘要:回到上一步 ctrl + alt + < 回到下一步 ctrl + alt + >
阅读全文
摘要:问题现象: 删除namespace,一直处于Terminating,并且用--force --grace-period=0 也删除不了 develop Terminating 4d9h Error from server (Conflict): error when deleting "ns.yam
阅读全文
摘要:基本概念 • Lambda表达式是一个匿名方法,将行为像数据一样进行传递。 • Lambda表达式的常见结构: BinaryOperator<Integer> add=(x, y) → x+y。 • 函数接口指仅具有单个抽象方法的接口,用来表示Lambda表达式的类型。 filter: 过滤作用,f
阅读全文
该文被密码保护。
该文被密码保护。
摘要:SpringBoot的ApplicationRunner、CommandLineRunner 场景: 在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLin
阅读全文
摘要:注释:CTRL + SHIFT + / 撤销注释:CTRL + SHIFT + \
阅读全文
该文被密码保护。