golang-切片
因为数组的长度在定义时就固定了,不能灵活调整,所以引入了切片。切片是一个拥有相同类型的长度可变的序列,可以看成是一类不定长的数组。 切片的定义格式1234var name []T//name表示切片名,T表示切片类型,比如intvar slice1 = []int{}//声明一个空切片,默认值是nil,引用类型的默认值都是nil,相当于C语言中的NULL,切片因为底层是数组,所以切片未初始化时是可以使用的,而map就不能直接使用 从连续内存区域生成切片的格式1slice [开始位置 : 结束位置) slice:表示目标切片对象; 开始位置:对应目标切片对象的索引,闭区间; 结束位置:对应目标切片的结束索引,开区间,不包含结束位置元素,结束位置的取值上限是切片的容量而不是长度。 切片特性 取出的元素数量为:结束位置 - 开始位置; 取出元素不包含结束位置对应的索引,切片最后一个元素使用slice[len(slice)]获取; 当缺省开始位置时,表示从连续区域开头到结束位置; 当缺省结束位置时,表示从开始位置到整个连续区域末尾; 两者同时缺省时,与切片本身...
golang-函数
函数的定义12345678func 函数名(参数)(返回值){ 函数体}//函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名(包的概念详见后文)。//参数:参数由参数变量和参数变量的类型组成,多个参数之间使用`,`分隔。//返回值:返回值由返回值变量和其变量类型组成,也可以只写返回值的类型,多个返回值必须用`()`包裹,并用`,`分隔。//函数体:实现指定功能的代码块 函数的参数和返回值都是可选的函数的调用通过函数名()的方式调用函数。 1234567891011package mainimport "fmt"func sum(){ fmt.Println("Hello!")}func main(){ sum()} 类型简写12func intSum(x, y int)//intSum函数有两个参数,这两个参数的类型均为int,因此可以省略x的类型,因为y后面有类型说明,x参数也是该类型。 可变【不定长】参数...
golang-字符串
Golang内部使用UTF-8编码实现,字符串的值使用””括起来,单引号会报错,单引号给字符使用,字符的两种类型byte和rune byte,代表了一个ASCII字符 rune,代表了一个UTF-8字符 uint8和byte类型是等价的,都表示8位无符号整数;int32和rune类型是等价的,都表示32位有符号整数。所以说uint8就是byte类型,int32就是rune类型 多行字符串使用反引号可以直接引用 12345 var s3 = ` version 1.0 services test image nginx:1.0 ` 字符串的底层是一个byte数组,所以字符串和byte可以互转,字符串的长度也就是byte数组的长度 12345678910111213package mainimport ( "fmt")func main() { var s1 = "hello 中国" var s2 = []byte(s1) var s3 = []rune(s1) ...
golang-数组
数组是同一种数据类型元素的集合,数组的索引和元素一一对应,数组长度一旦定义则不可修改数组定义:12345var 数组变量名 [元素数量] Type// 定义一个长度为3元素类型为int的数组avar a [3]int//数组的长度与容量相同 数组初始化:1234567891011121314151617181920212223242526272829303132//可以指定值来设置数组元素。func main() { var testArray [3]int //数组会初始化为int类型的零值 var numArray = [3]int{1, 2} //使用指定的初始值完成初始化 var cityArray = [3]string{"北京", "上海", "深圳"} //使用指定的初始值完成初始化 fmt.Println(testArray) //[0...
golang-变量与常量
变量声明关键字:var 12345678910111213141516171819202122232425262728293031323334package mainimport "fmt"func main() { //声明一个变量不初始化,int类型默认初始化为0,string默认为空字符串,bool默认为false,切片/函数默认为nil var a int var b string var c bool fmt.Printf("a=%d,b=%s,c=%t\n", a, b, c) //变量的批量声明 var ( d int = 1 e string = "Hello" ) fmt.Printf("d=%d,e=%s\n", d, e) //类型推导,声明变量时省略数据类型,由编译器根据等号右边的值来推导变量的数据类型 var name = "daqian" var age = 99 fmt.Printf("name=%s,age=%d\n"...
grafana-OSS
grafana-OSS 版本Install [v9.0.x]1234567891011121314CentOS系统# cat /etc/yum.repos.d/grafana.repo[grafana]name=grafanabaseurl=https://packages.grafana.com/oss/rpmrepo_gpgcheck=1enabled=1gpgcheck=1gpgkey=https://packages.grafana.com/gpg.keysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crt# yum install grafana Configure Grafana1linux系统的配置文件位置 /etc/grafana/grafana.ini, ';'为注释,取消注释配置生效,否则为默认值 使用环境变量覆盖配置文件现有配置时,所有配置项key全部大写,例如: 1234567891011# default sectioninstance_name = ${HOSTNA...