自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 11Go语言中的Goroutine

goroutine简单介绍

2022-08-27 14:02:51 277 1

原创 10 Go语言中接口运算,空接口

接口断言,空接口

2022-08-20 17:47:10 289

原创 09Go语言中的接口初始化

接口初始化方式

2022-08-20 10:57:41 456

原创 08补充:函数类型

函数的字面量,命名类型

2022-08-19 21:09:35 267

原创 08Go中的类型系统

Go语言中的类型系统

2022-08-17 11:14:45 93

原创 07 galang中的panic与recover

go语言中的panic报错与recover捕获

2022-08-13 16:12:53 153

原创 06 闭包函数

golang语言闭包

2022-08-13 14:56:13 80

原创 05Go中的函数

Go语言中的函数使用,匿名函数,不定参数,defer

2022-08-13 11:18:52 52

原创 04控制结构

if,switch,break, continue

2022-08-11 10:14:18 49

原创 03复合数据类型

切片,map,struct应用

2022-08-09 13:44:39 51

原创 02复合数据类型

数组、指针

2022-08-09 10:41:19 52

原创 01基本数据类型

整型 浮点 string bool

2022-08-09 10:38:19 74

原创 matlab 函数定义

在编辑器定义一个函数(多个输入,单个返回)保存为文件freebody.m,与函数名字相同。返回值为x注意,这边函数用的是点乘。两种方式均可以输入多个inputs and outputsfunction [a F] = acc(v2, v1, t2, t1, m)a = (v2-v1)./(t2-t1); %还是用点乘或点除F = m.* a;[ACC force] = acc(20,10, 5, 4, 1)ACC = 10force = 10.

2022-04-24 17:22:43 527

原创 matlab矩阵及向量运算

matlab 矩阵相关学习

2022-04-22 17:04:39 438

原创 matlab四则运算

** 基础四则运算及注意点**

2022-04-22 16:00:55 355

原创 Fabric简介

什么是fabricHyperledger Fabric 是超级账本中的区块链项目之一。和其他区块链技术一样,它有一个账本,使用智能合约,是一个参与者管理交易的系统。fabric是私有的和许可的,不同于其他区块链的公开的和非许可的,网络成员通过一个受信任的成员服务提供者(MSP)member service provider 来注册访问。Fabric支持创建通道的功能,通道内的成员与通道外的成员的交易账本不同。如商业过程中,公司向某些特定的成员提供特殊价格,而这个价格不希望其他参与者看到。共享账本共享

2020-10-18 08:56:55 2427 1

原创 Golang-反射01

反射的示意图反射的重要函数1.reflect.TypeOf()获取变量类型,返回reflect.Type类型2.reflect.ValueOf()获取变量的值,返回reflect.Value类型3.反射中 变量 空接口 reflect.Value可以相互转换

2020-10-11 19:47:46 105

原创 Golang-常量(const)

1.常量使用const修改2.常量在定义的时候,必须初始化3.常量不能修改4.常量只能修饰 bool 数值类型 string5.常量的类型编译时就要确定类型常量两种表示:1.const(a=1b=2)2.const{a = itoabc) //表示a赋0,b在基础上加1,c在b基础上加15.通过手字母的大小写控制范围...

2020-10-11 17:12:12 4506

原创 Golang-channel04(细节)

管道细节注意1.管道可以声明为只读或者只写:var chan1 chan int //可读可写var chan2 chan <- int//声明为只写var chan3 <- chan int//声明为只读

2020-10-10 21:15:09 153

原创 Golang-Channel03(协程+管道结合)

要求1.writeData协程向管道intChan写入50个整数2.开启一个readData协程,从管道intChan中读取writeData的数据3.主线程要求等两个协程完成后退出代码示例package mainimport( "fmt")func writeData(intChan chan int){ for i:= 0; i <= 1000; i++{ intChan <- i fmt.Println("写入的数据",i) } close(intCh

2020-10-08 15:22:29 505

原创 Golang-channel02(关闭,遍历)

关闭使用channel内置函数Close(),只能读,不能写,代码如下:package mainimport ( "fmt")func main(){ intChan := make(chan int, 3) intChan <- 100 intChan <- 200 close(intChan) //intChan <- 300 //通道已被关闭无法再写入 x , ok := <-intChan //但是还是可以继续读 fmt.Println(x,

2020-10-08 14:29:24 310

原创 Golang-channel01

管道1.管道本质是队列,先进先出2.管道是线程安全的,多个协程操作同一个管道时不会发生资源竞争问题3.channel有类型的,一个string的管道只能放string类型的数据基本使用声明/定义 channel:var 变量名 chan 数据类型如:var intChan chan intvar mapChan chan map[int]stringvar poicChan chan *Person注意:1)管道时引用类型2)管道必须初始化(make)之后才能写入数据入门演示p

2020-10-08 11:32:55 223 2

原创 Golang-goroutine03(使用时会产生的问题)

计算1-200的各个数的阶乘将结果放到map中,使goroutine完成package mainimport( "fmt")//计算1-200的各个数的阶乘将结果放到map中,使goroutine完成//思路//编写一个函数, 计算各个数的阶乘,放到map中//启动的协程多个,统计结果放入map中//map应该时全局的 //全局形式var ( myMap = make(map[int]int))func test( n int){ res := 1 for i:=1;

2020-10-08 09:51:08 126

原创 Golang-goroutine02(MPG模式+设置CPU数目)

MPGM —主线程P—协程执行所需上下文G—协程状态1:1)有三个M,作用在同一个cpu并发,作用在多个cpu为并行2)Go协程是轻量级的,可以很容易起上万个协程状态2:M0在运行G0时被阻塞,会创建另一个M1主线程,将其余的G1,G2挂到M1下面设置Cpu数目package mainimport( "runtime" "fmt")func main(){ cpuNum := runtime.NumCPU() //看有多少个CPU fmt.Println("cpuNum

2020-10-08 09:16:59 867

原创 Golang-goroutine(协程)01

引出计算1-90000中的素数1.传统方法用for循环判断2.用并发或者并行,分配给多个协程去完成协程一个go线程上可以跑多个go协程。go的主线程又成为go的线程或理解为进程。协程有独立栈空间,共享程序堆空间,调度由用户控制,是轻量级的线程。入门package mainimport( "fmt" "strconv" "time")func test(){ for i:=1; i<=10; i++{ fmt.Println("test() hello world"

2020-10-07 22:38:45 105 1

原创 Golang-单元测试02(细节注意)

1.测试用例文件名_test.go结尾,该文件包含TestXxxx函数,将该文件与被测试的文件放在相同包中2.测试函数必须是Test+被测试函数名(被测试函数名大写开头),最好是这样3.上例中TestAddUpper(t *testing.T),形参必须是 *tetsing.T4.一个测试用例文件,要包含多个测试用例函数5.go test 运行正确不提示,错误会输出;而go test -v 都会输出6.出现错误用t.Fatalf格式化输出错误信息,并且退出7.t.Logf输出相应日志8.go

2020-10-07 21:36:29 102

原创 Golang-单元测试01(testing)

原理理解命令行用 go test -vcal_test.go的代码是:package mainimport( _ "fmt" "testing")//编写测试用例,去测试addUpper是否正确func TestAddUpper(t *testing.T){ res := addUpper(10) if res != 55{ //传统形式 //fmt.Printf("addUpper(10) 期望值 %v 实际值 %v\n", 55, res) //testing中

2020-10-07 21:24:34 155

原创 Golang-json03(反序列化)

Unmarshal简介func Unmarshal(data []byte, v interface{}) errorUnmarshal函数解析json编码的数据并将结果存入v指向的值。应用场景web服务器(go语言): 数值,切片等 —序列化—>json字符串|传输|浏览器端:json ----反序列化——>还原数据形式案例演示(unmarshal)package mainimport( "fmt" "encoding/json")//反序列化成结构体type

2020-10-07 16:03:22 137

原创 Golang-json02(演示struct, map,slice 序列化)

json序列化是将有key-val结构的数据类型,序列化成json字符串。struct序列化encoding/json包中的func Marshal(v interface{}) ([]byte, error),接收一个空接口,即可以接收任何类型的数据,返回字符切片package mainimport( "fmt" "encoding/json")type Monster struct{ Name string Age int Sal float64 Skill string}f

2020-10-07 15:02:03 204

原创 Golang-json01(简介+数据格式)

json简介JSON(JavaScript Object Notation), 一种轻量级数据交换格式, key-value对。已经成为数据传输的主流格式。主要是序列化和反序列化。web服务器将go数组进行json序列化,之后传送给浏览器。浏览器收到json序列后,进行反序列化还原数组显示。json数据格式说明JSON是用键值对来保存数据的。如{“firstName":“Jack”},{" Name":“Tom”, “address”:[“北京”, “上海”]}。Json扩展十分灵活。json数据

2020-10-07 13:43:27 162

原创 5.1增加二叉树非递归后续遍历

//感谢MOOC里的大神,选了一种最为方便的写法//另外还可以在树结构中增加一个记录访问次数的选项//那个更容易理解,但是麻烦,也贴在后面typedef struct TREE{int data;int visit; //用来记录节点的访问次数struct TREE * left;struct TREE * right;}*BinTree , Tnode;void postr...

2019-08-17 09:00:14 80

原创 数据结构5.0二叉树的非递归遍历先序、中序

/**创建以下结果的二叉树,此二叉树结构是上面二叉树遍历的例子,可对比结果是否正确A/ B C/ \ D E F/ \ \ / G H I J k*///还差一个后序遍历和层次遍历#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#defin...

2019-08-15 11:17:22 119

原创 数据结构4.0链表的应用--多项式加法与乘法

#include <stdio.h>#include <stdlib.h>/读入的话才用尾插法,头部保留空结点,插入读入完成后释放头部结点//主要结构是:读入,相加(判别相加是否系数为零),相乘(第一项先乘,后续在此基础上按指数大小顺序插入,如果指数大小一样系数相加为零,删除该点/typedef struct PSTNODE * polynomial;struct...

2019-08-15 08:09:54 175

原创 数据结构3.0栈的链表操作

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct SLNode{int data;struct SLNode * next;}*Lstack, Node;/*//为方便操作而生成一个头,一个尾指针//其实没有必要struct stack{Lst...

2019-08-11 16:33:53 65

原创 数据结构3.0顺序栈的push,pop

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct SNODE{int *data;int top;int MAXSIZE;}*stack, node;stack initi_stack(int n);bool is_full(stack plist)...

2019-08-10 21:54:20 1141

原创 递归例子之汉诺塔

#include <stdio.h>//只要将第一轮想明白就好了,千万别深究//递归出口:只有一个disk的时候//递归式子:n个盘子搬来搬去void hanio(int n, char a, char b, char c);int main(int argc, const int * argv){int n;printf(“input the number of di...

2019-08-10 15:21:27 83

原创 递归小例子,数字正序、逆序输出

#include <stdio.h>//正序void traverse(int n, int k);int main(void){int n;scanf("%d", &n);int lebal=1;int work = n;while (work/10 != 0){lebal= lebal *10;work /= 10;}traverse(n, le...

2019-08-10 14:53:24 565

原创 数据结构工具之冒泡、选择排序

#include <stdio.h>void sort2_maopao(int *arr,int n){int i, j;int tmp;//外循环记录循环比较次数,循环n-1次//内循环是元素下标,满足条件移动//注意,j<n-i,每一轮比完的元素放到一侧不用管了//即第一轮找到最大的或最小的放到一边,第二轮只要找第二大的,且不用和最大的比较for ( i =...

2019-08-09 12:07:39 59

原创 数据结构2.0链表基础操作

#include <stdio.h>#include <stdlib.h>#include <stdbool.h>typedef struct Node{int data;struct Node *pNext;}NODE, *PNODE;//创建链表;PNODE creat_list(void);void traverse_list(PNOD...

2019-08-06 11:29:42 118

原创 数据结构1.1顺序表的基础操作

对顺序表的基础操作,后续在此基础上升级望早日出山。#include <stdio.h>#include <stdbool.h>#include <stdlib.h>struct Arr{int *pBase;int len;//最大长度int cnt; //当前有效长度};void init_arr(struct Arr * array...

2019-08-06 07:29:24 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除