go语言学习
记录学习go的笔记
想学习安全的小白
密码学好难学啊
展开
-
第十一节——接口
接口的定义格式:type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 …}参数说明:1、接口名:使用type将接口定义为自定义的类型名。Go语言的接口在命名时,一般会在单词后面添加er,如有写操作的接口叫Writer,有字符串功能的接口叫Stringer等。接口名最好要能突出该接口的类型含义。2、方法名:当方法名首字母是大写且这个接口类型名首字母也是大写时,这个方法可以被接口所在的包(pa原创 2021-11-24 18:48:23 · 184 阅读 · 0 评论 -
第十节——包
可见性定义:如果想在一个包中引用另外一个包里的标识符(如变量、常量、类型、函数等)时,该标识符必须是对外可见的(public)。在Go语言中只需要将标识符的首字母大写就可以让标识符对外可见了。例子:package pkg2import "fmt"// 包变量可见性var a = 100 // 首字母小写,外部包不可见,只能在当前包内使用// 首字母大写外部包可见,可在其他包中使用const Mode = 1type person struct { // 首字母小写,外部包不可原创 2021-11-24 10:43:04 · 69 阅读 · 0 评论 -
第九节——结构体
结构体的定义定义格式:type 类型名 struct { 字段名 字段类型 字段名 字段类型 …}例子:type person struct { name string city string age int8}结构体实例化格式:var 结构体实例 结构体类型例子:type person struct { name string city string age int8}func main() { var p1 person原创 2021-11-24 10:31:07 · 186 阅读 · 0 评论 -
第八节——指针
a原创 2021-11-24 10:10:25 · 90 阅读 · 0 评论 -
第七节——函数
函数的定义使用关键字func进行定义格式:func 函数名(参数)(返回值){ 函数体}参数选项——返回值:可以只写返回值的类型,多个返回值必须用()包裹,并用,分隔。可变参数使用...来进行标识例子1:可变参数作为切片将输入参数进行保存func main() { test(10,11,12) //[10,11,12]}func test(x ...int){ fmt.Println(x)}例子2:固定参数+可变参数=先将固定参数进行满足,剩余参数使原创 2021-11-23 22:59:06 · 186 阅读 · 0 评论 -
第六节——map
Map概念map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。定义定义语法:make(map[KeyType]ValueType, [cap])例子:scoreMap := make(map[string]int, 8)scoreMap["张三"] = 90scoreMap["小明"] = 100fmt.Println(scoreMap)fmt.Println(scoreMap["小明"])map支持声明时定义元素例子:原创 2021-11-23 22:39:48 · 187 阅读 · 0 评论 -
第五节——切片
切片切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。切片定义定义格式:var name []数据类型例子:var a []string从数组中获取切片a := [5]int{1, 2, 3, 4, 5}s := a[1:3]使用make定义切片定义格式:make([]T, size, cap)例子:a := make([原创 2021-11-23 20:51:16 · 1067 阅读 · 0 评论 -
第四节——数组
数组的定义数组的定义格式:var 数组变量名 [元素数量]数据类型例子:var a [3]int数组的初始化定义时初始化例子:var cityArray = [3]string{"北京", "上海", "深圳"}fmt.Println(cityArray) //[北京 上海 深圳]定义时不指定长度,由系统自动推算例子:var cityArray = [...]string{"北京", "上海", "深圳"}初始化时指定位置,没有指定位置的使用默认值填充例子:a原创 2021-11-23 20:10:01 · 71 阅读 · 0 评论 -
第三节——if与for循环
if判断原创 2021-11-23 19:40:09 · 302 阅读 · 0 评论 -
第二节——go基础
变量声明方法:var关键字+变量名+变量类型。eg:var s1 string批量声明变量方法:var(变量名1 类型/n 变量名2 类型/n),eg:var( name string // “” i int // 0 flag bool // false)go语言中非全局变量声明必须使用,不使用编译无法通过变量初始化声明后在函数中赋值,eg:name=“qwe”在声明时初始化,eg:var name string = “qwe”在声明时赋值,可以省略变量原创 2021-11-17 19:22:54 · 74 阅读 · 0 评论