
Golang学习笔记
趁着暑假,在这里记录自己的golang学习过程
摸鱼话题下优秀答主
我还是会选择,那种滚烫的人生。
展开
-
DAY12 指针
指针:存储另一个变量地址的变量 1.定义方式:var var_name *type:如var a *int 2.操作变量,并不会改变地址 3.通过指针改变数值:*p1=a 4.指向指针的指针:**int 数组指针: 1.首先是一个指针,一个数组的地址 指针数组:首先是一个数组,存储的数据类型是指针 函数指针和指针函数: Go语言中,函数默认看作一个指针,没有*,slice,map原创 2022-06-12 15:37:10 · 196 阅读 · 0 评论 -
DAY11 闭包
匿名函数:没有名字的函数,通常只能调用一次,也可以赋值给其他变量,则可以调用多次 1.将匿名函数作为另一个函数的参数,回调函数 2.将匿名函数作为另一个函数的返回值 高阶函数: 根据go语言数据类型特点,可以将一个函数作为另一个函数的参数 将fun1()作为fun2()函数的参数,则称fun2()为高阶函数 回调函数: 作为另一个函数的参数,称为回调函数 闭包: 一个外层原创 2022-06-10 16:26:23 · 180 阅读 · 0 评论 -
DAY10 函数
package mainimport "fmt"//a:=5//错误定义,全局变量不能使用简短定义var a = 5 //类型推导var b int = 6func getSum(a int) int { //递归函数 if a == 1 { return 1 } else { return getSum(a-1) + a }}func feb(n int) int { //斐波那契数列 if n == 1 { return 1 } e原创 2022-06-09 16:59:15 · 133 阅读 · 0 评论 -
DAY8 string包和strconv
string的使用: 1.""或者``(双引号或者反引号) 2.A-65,a-97,0-48 3.字符串是字节的集合 4.每个字符都有固定的位置,可以通过下标访问(可能是其数字代号),中文字符占3个字节...原创 2022-06-07 17:39:34 · 100 阅读 · 0 评论 -
DAY7 map类型
以下是对map学习时的笔记以及代码示例,同时对深拷贝和浅拷贝作了补充: Map:Go语言内置类型,将一个值与一个键联系起来,可以使用相应的键检索值 1.map是无序的,每次打印出来的map都会不一样,不能使用index获取,只能使用key获取 2.map的长度不固定,和slice一样,是引用类型 3.内置的len函数同样可以获取map拥有的key数量 4.map的key是所有可比较的类型,如布尔型,整数型,浮点型。。。 5.原创 2022-06-06 16:51:36 · 179 阅读 · 0 评论 -
DAY6 数组和切片
一、声明数组 1.var name [size] type(如:var balance [10] float32)二、数组初始化 1.var balance=[5]float32{1000.0,2.0,3.4,7.0,50.0} 2.balance:=[5]flaot{.......} 3.如果数组长度不确定,可以使用"..."代替数组长租,编译器会自动推断长度,如:var balance=[...]float32{.......}或者balance:=[...]float3原创 2022-06-03 17:39:01 · 111 阅读 · 0 评论 -
DAY5 循环结构
一、for是唯一的循环语句,go语言没有while循环 1.for语句:语法结构:for init;condition;post{}初始化语句只执行一次,初始化循环以后,将检查该条件,如果条件计算为true,那么{}中的循环体将被执行,然后执行post语句,然后再进行检查。eg:for i:=1;i<=10;i++{fmt.Printf("%d",i)} 2.for循环变体:初始化,条件,post都是可选的 3.for condition{}效果与while差不多 ...原创 2022-05-31 17:05:54 · 87 阅读 · 0 评论 -
DAY4 分支语句
一、分支语句(if,switch,select) 1.if语句语法格式:if 布尔表达式{/*布尔表达式为真时执行*/}if 布尔表达式{}else{/*布尔表达式为false时执行*/}if 布尔表达式{}else if 布尔表达式2{}else{所有布尔表达式都为假时执行}if statement;condition{} 2.switch语句:从上至下逐一测试,直至匹配成功,匹配项之后不需要加break,默认自动加break,如果需要强制执行后面的代码,...原创 2022-05-30 15:48:43 · 90 阅读 · 0 评论 -
DAY3 基本数据类型和输入输出
一、基本数据类型 1.布尔类型(bool):true or false 2.数值型:2.1整数型:int8(-128~127),int16,int32,int64,uint,...2.2浮点型:flaot32,float64,complex64(32位实数和32位虚数),complex128(64位实数和64位虚数) 3.字符串类型(string):UTF-8B编码标识的Unicode文本 4.数据类型转换:语法格式:type(value),常数有需要时会自动转型,...原创 2022-05-29 16:03:36 · 318 阅读 · 0 评论 -
DAY 2 Golang基本变量
一、标识符1.标识符只能由数字,字母,下划线组成2.只能以字母和下划线开头3.标识符区分大小写正确的命名:var name stringvar age intvar email string如果要暴露给包外的代码使用,则必须以大写字母开头,否则小写只能在包内使用常量命名必须使用大写字母测试用例的函数名称必须以Test开头,如:TestExample二、变量 1.先声明,再使用,并且go语言中变量声明后必须使用 2.声明变量语法:var identifier t...原创 2022-05-28 15:24:15 · 86 阅读 · 0 评论 -
DAY 1 Golang入门知识汇总
一、常用的基本命令1.build:生成exe文件,生成exe文件之后可以在命令行使用"./exe文件名"直接执行2.run:在终端执行go语言代码,如go run main.go3.clean:运行结束后可以清除对象文件4.doc:查看文件5.env:查看当前go语言配置环境6.get:获取包,可以先到go.dev查询所需包然后获取下载连接,注意首次使用go get之前需要使用"go mod init 项目名"初始化项目,否则使用get会报错。7.tool:使用go语言提供的相关原创 2022-05-26 10:47:54 · 126 阅读 · 0 评论