自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(262)
  • 资源 (6)
  • 收藏
  • 关注

原创 golang面试-day105

参考答案及解析:D。加锁后复制变量,会将锁的状态也复制,所以 mu1 其实是已经加锁状态,再加锁会死锁。参考答案及解析:B。能正确输出,不过主协程会阻塞 f() 函数的执行。

2024-08-18 09:20:55 283

原创 golang面试-day104

参考答案及解析:D。WaitGroup 在调用 Wait() 之后不能再调用 Add() 方法的。参考答案及解析:ABC。

2024-08-17 20:43:19 254

原创 golang面试-day103

参考答案及解析:输出 0 40 50。知识点:defer 语句与返回值。函数的 return value 不是原子操作,而是在编译器中分解为两部分:返回值赋值 和 return。参考答案及解析:D。当写锁阻塞时,新的读锁是无法申请的(有效防止写锁饥饿),导致死锁。

2024-08-16 17:51:04 415

原创 golang面试-day102

参考答案及解析:第一个是声明无缓存通道,第二个是声明缓存为 1 的通道。无缓存通道需要一直有接收者接收数据,写操作才会继续,不然会一直阻塞;而缓冲为 1 则即使没有接收者也不会阻塞,因为缓冲大小是 1 ,只有当放第二个值的时候,第一个还没被人拿走,这时候才会阻塞。注意这两者还是有区别的。参考答案即解析:D。使用 Lock() 加锁后,不能再继续对其加锁,直到利用 Unlock() 解锁后才能再加锁。

2024-08-16 17:50:33 427

原创 golang面试-day101

关于循环语句,下面说法正确的有?参考答案及解析:CD。

2024-08-16 17:49:53 270

原创 golang面试-day100

参考答案即解析:在执行 Get() 方法时可能报错。虽然可以使用 sync.Mutex 做写锁,但是 map 是并发读写不安全的。map 属于引用类型,并发读写时多个协程是通过指针访问同一个地址,即访问共享变量,此时同时读写资源存在竞争关系,会报错 “fatal error: concurrent map read and map write”。参考答案即解析:按字母无序输出。知识点:遍历 map 是无序的。

2024-08-15 12:23:30 209

原创 golang面试-day99

参考答案即解析:编译通过。true 是预定义标识符可以用作变量名,但是不建议这么做。参考答案即解析:100。知识点:变量作用域和defer 返回值。

2024-08-14 10:02:28 653

原创 golang面试-day98

参考答案及解析:1。知识点:变量的作用域。注意 for 语句的变量 a 是重新声明,它的作用范围只在 for 语句范围内。参考答案即解析:编译错误。知识点:变量的作用域。编译错误信息:ret is shadowed during return。

2024-08-14 10:01:49 233

原创 golang 面试-day97

参考答案及解析:输出 0。使用值类型接收者定义的方法,调用的时候,使用的是值的副本,对副本操作不会影响的原来的值。如果想要在调用函数中修改原值,可以使用指针接收者定义的方法。参考答案及解析:A。知识点:map 的使用。可以查看《Go Map》

2024-08-14 10:01:07 432

原创 golang面试-day96

参考答案及解析:get() 函数返回的切片与原切片公用底层数组,如果在调用函数里面(这里是 main() 函数)修改返回的切片,将会影响到原切片。参考答案及解析:输出 [{1 2} {3 4}]。知识点:for range 循环。range 循环的时候,获取到的元素值是副本,就比如这里的 p。

2024-08-13 09:15:09 231

原创 golang面试-day95

参考答案及解析:false true true。这道题唯一有疑问的地方就在第一个比较,Go 语言里没有引用变量,每个变量都占用一个惟一的内存位置,所以第一个比较输出 false。这个知识点在《Go 语言没有引用传递》有介绍。参考答案及解析:1、2随机输出。

2024-08-13 09:14:29 109

原创 golang面试-day94

参考答案及解析:C() 函数不能通过编译。C() 函数的 default 属于关键字。string 和 len 是预定义标识符,可以在局部使用。nil 也可以当做变量使用,不过不建议写这样的代码,可读性不好,小心被接手你代码的人胖揍。参考答案及解析:a。Go 语言里面 ^ 表示按位异或,而不是求幂。

2024-08-13 09:13:52 263

原创 golang面试-day93

关于 main() 函数,下面说法正确的是?参考答案及解析:ABCD。

2024-08-13 09:13:14 179

原创 golang面试-day92

参考答案及解析:编译失败。init() 函数不能被其他函数调用,包括 main() 函数。参考答案即解析:利用 copy() 函数的功能:切片复制,并且返回两者长度的较小值。

2024-08-13 09:12:42 362

原创 golang面试-day91

参考答案及解析:Unnamed Type 不能作为方法的接收者。参考答案及解析:第二段代码能通过编译。除 init() 函数之外,一个包内不允许有其他同名函数。

2024-08-11 09:43:09 507

原创 golang面试-day90

我们将这两道题目放到一块做一个解析,第一题不能通过编译,第二题可以通过编译。我们知道不同类型的值是不能相互赋值的,即使底层类型一样,所以第一题编译不通过;对于底层类型相同的变量可以相互赋值还有一个重要的条件,即至少有一个不是有名类型(named type)。Unnamed Type 是基于已有的 Named Type 组合一起的类型,例如:struct{}、[]string、interface{}、map[string]bool 等。

2024-08-11 09:42:34 416

原创 golang 面试-day89

参考答案及解析:能编译通过,输出 [1 2 3 0 1 2]。for 循环开始的时候,终止条件只会计算一次。参考答案及解析:C。指针变量指向相同的地址。

2024-08-11 09:41:46 400

原创 golang 面试-day88

参考答案及解析:false。在 Go 语言里面,^ 作为二元运算符时表示按位异或:对应位,相同为 0,相异为 1。例如,有我们熟悉的组合(3,4,5)、(6、8、10)等。1+6=7,这当然是相等的。你来试试分解下第二段代码的数学表达式。问题来了,下面代码输出什么,请简要说明。参考答案及解析:AD。

2024-08-09 08:52:32 289

原创 golang 面试-day87

参考答案及解析:false。在 Go 语言里面,^ 作为二元运算符时表示按位异或:对应位,相同为 0,相异为 1。例如,有我们熟悉的组合(3,4,5)、(6、8、10)等。1+6=7,这当然是相等的。你来试试分解下第二段代码的数学表达式。问题来了,下面代码输出什么,请简要说明。参考答案及解析:AD。

2024-08-09 08:51:45 211

原创 golang面试-day86

参考答案及解析:118。Go 语言里面,八进制数以 0 开头,十六进制数以 0x 开头,所以 Decade 表示十进制的 8。参考答案及解析:43200 hours and 600 seconds。知识点:运算符优先级。和 % 的优先级相同,从左向右结合。

2024-08-09 08:50:36 142

原创 golang面试-day85

参考答案及解析:输出空字符。这是一个大多数人遇到的坑,TrimRight() 会将第二个参数字符串里面所有的字符拿出来处理,只要与其中任何一个字符相等,便会将其删除。想正确地截取字符串,可以参考 TrimSuffix() 函数。参考答案及解析:输出 []。copy(dst, src) 函数返回 len(dst)、len(src) 之间的最小值。如果想要将 src 完全拷贝至 dst,必须给 dst 分配足够的内存空间。或者直接使用 append()

2024-08-08 20:48:59 144

原创 golang面试-day84

参考答案及解析:B。由 panic 引发异常以后,程序停止执行,然后调用延迟函数(defer),就像程序正常退出一样。

2024-08-08 20:48:20 128

原创 golang面试-day83

参考答案及解析:A。一个文件夹下只能有一个包,可以多个.go文件,但这些文件必须属于同一个包。结构体类型 data 没有实现接口 printer。参考答案及解析:编译报错。

2024-08-08 20:47:02 134

原创 golang面试-day82

参考答案及解析:0 1 1 2。知识点:iota 的使用。这道题易错点在 bzero、bone 的值,在一个常量声明代码块中,如果 iota 没出现在第一行,则常量的初始值就是非 0 值。参考答案及解析:4。当 i 的值为 0、128 是会发生相等情况,注意 byte 是 uint8 的别名。

2024-08-08 20:46:28 358

原创 golang面试-day81

参考答案及解析:A。Go语言的内存回收机制规定,只要有一个指针指向引用一个变量,那么这个变量就不会被释放(内存逃逸),因此在 Go 语言中返回函数参数或临时变量是安全的。参考答案即解析:运行时错误。

2024-08-08 20:45:50 287

原创 golang面试-day80

参考答案及解析:AD。全局变量要定义在函数之外,而在函数之外定义的变量只能用 var 定义。短变量声明 := 只能用于函数之内。

2024-08-08 20:45:09 138

原创 golang面试-day78

参考答案及解析:可以编译通过,输出:true。知识点:Go 代码断行规则。参考答案及解析:AC。

2024-08-08 20:44:23 286

原创 golang面试-day77

参考答案即解析:ABD。参考答案及解析:A。可变函数是指针传递。

2024-08-08 20:43:28 145

原创 实现的基于fabric 2.X 的中药饮片代煎配送联盟链项目的业务系统-中药煎配智能管理系统的核心代码讲解

这段代码是中药煎配智能管理系统的API路由配置部分,它定义了与用户交互的HTTP接口。该系统利用计算机控制、物联网及互联网技术,对煎药工艺流程、客户服务、设备和人员管理以及煎药工艺质量控制等环节进行全过程控制与管理。

2024-08-08 12:03:55 602

原创 基于联盟链Fabric 2.X的中药饮片代煎配送服务与监管平台07智能合约设计-智能合约如何测试

代码是基于Hyperledger Fabric 2.X平台,利用Go语言在Goland IDE中编写的智能合约(Chaincode)的Mock测试方法。Mock测试是一种软件测试技术,它允许开发者在不运行完整代码或依赖外部系统(如数据库、网络服务等)的情况下,对代码进行测试。在这个例子中,Mock测试用于测试智能合约的各种功能,包括处方上传、查询、煎药记录上传、物流信息上传以及处方历史变更查询等。

2024-08-08 11:40:29 119

原创 基于联盟链Fabric 2.X的中药饮片代煎配送服务与监管平台-07智能合约设计

智能合约代码是基于Hyperledger Fabric 2.X平台设计的,旨在为中药饮片代煎配送联盟链提供核心的业务逻辑处理。

2024-08-08 11:31:04 32

原创 基于联盟链Fabric 2.X的中药饮片代煎配送服务与监管平台-06数据库设计

这个数据库设计是为了支持中药饮片代煎配送服务而设计的,涵盖了从药品管理、处方管理、煎药过程、配送到用户反馈等多个环节。

2024-08-08 11:24:44 37

原创 golang面试-day76

知识点:类型断言,结构体嵌套。结构体 S2 嵌套了结构体 S1,S2 自己没有实现 g() ,调用的是 S1 的 g()。参考答案及解析:协程里面,使用 wg.Add(1) 但是没有 wg.Done(),导致 panic()。

2024-08-08 07:47:37 206

原创 golang 面试-day75

参考答案及解析:recover:1。知识点:panic、recover()。当程序 panic 时就不会往下执行,可以使用 recover() 捕获 panic 的内容。参考答案及解析:defer 语句应该放在 if() 语句后面,先判断 err,再 defer 关闭文件句柄。

2024-08-08 07:46:48 108

原创 golang 面试-day74

参考答案及解析:2、3正确。知识点:简短变量声明。参考答案及解析:for {} 独占 CPU 资源导致其他 Goroutine 饿死。引自《Go语言高级编程》

2024-08-08 07:46:02 108

原创 golang 面试-day73

参考答案及解析:{5}。这道题容易忽视的点是,String() 是指针方法,而不是值方法,所以使用 Println() 输出时不会调用到 String() 方法。参考答案及解析:312。对比昨天的第二题,本题的 s.Add(1).Add(2) 作为一个整体包在一个匿名函数中,会延迟执行。

2024-08-07 20:16:19 122

原创 golang面试-day72

所以可以循环调用方法 Add();2.defer 函数的参数(包括接收者)是在 defer 语句出现的位置做计算的,而不是在函数执行的时候计算的,所以 s.Add(1) 会先于 s.Add(3) 执行。,对于有符号的整数来说,是按照补码进行取反操作的(快速计算方法:对数 a 取反,结果为 -(a+1) ),对于无符号整数来说就是按位取反。参考答案及解析:132。这一题有两点需要注意:1.Add() 方法的返回值依然是指针类型。,它返回一个每个 bit 位都取反的数。从参考答案及解析:错。

2024-08-07 20:15:36 112

原创 golang面试-day70

参考答案及解析:BD。知识点:单引号、双引号和字符串连接。在 Go 语言中,双引号用来表示字符串 string,其实质是一个 byte 类型的数组,单引号表示 rune 类型。参考答案及解析:43。

2024-08-07 20:15:00 411

原创 golang-面试69

参考答案及解析:100 110。知识点:闭包引用相同变量。

2024-08-07 20:14:20 192

原创 golang面试-day68

参考答案及解析:22222。知识点:defer()、for-range。for-range 虽然使用的是 :=,但是 v 不会重新声明,可以打印 v 的地址验证下。参考答案及解析:goto 不能跳转到其他函数或者内层代码。

2024-08-07 20:13:36 102

教务系统软件使用说明书v1.01.doc

教务培训机构系统使用手册,主要包括销售管理、系统管理、教学管理、账户管理、财务管理、排课、微信网站七大模块。加强对培训班管理

2020-06-07

jquery 权限系统(sql数据库,可控制到按钮)

jquery权限系统,可控制到按钮,有角色管理,菜单管理,人员管理,按钮管理,单位组织架构,web开发系统的框架

2013-06-06

酒店管理系统(extjs+sqlserver2005)

WS中介房源管理系统源码 源码描述: 功能介绍 房屋管理 增加房源,修改房源,删除房源,房屋控制台,查看 客户管理 增加客户信息,修改客户信息,删除客户信息,查询客户 业务管理 权限管理 用户管理:修改 删除 保存,备份数据 退出系统

2013-02-21

流风通用管理框架源码

query: Ajax技术的应用 IBatisNet: IBatis.Net就是一个比较易用的ORM框架,使用起来较为方便、灵活。IBatis.Net是从Ibatis的Java版本移植过来的.NET版本。iBATIS作为一种独特的Data Mapper,使用SQL映射的方式将对象持久化至关系型数据库。简单的理解就是它将我们在数据访问层实现的C#逻辑代码,变为通过关系数据库与对象的映射,将SQL逻辑放到外部的XML配置文件中,以方便以后的维护。 这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。Sql Maps是这个框架的核心部分,通过使用Sql Maps你可以显著的节约数据库操作的代码量。SQL Maps使用一个简单的XML文件来实现从实体到SQL statements的映射。使用DAO,封装了对数据的访问,你可以动态配置你的应用程序来访问不同的实体存储机制。隐藏持久性层实现的细节,Data Access Objects允许你通过一个简单接口的来操作数据。 系统功能说明 程序管理: 管理系统菜单数据,并对程序模块的权限进行定义,例如新增,编辑,审核等等操作的权限 缓存管理: 管理系缓存数据,当系统中缓存的数据有变化时,需要清除缓存并重新生成 日志管理: 登记用户操作系统的日志 角色管理: 管理系统角色信息,并可以对角色进行授权 用户管理: 管理系统用户信息,并可以定义用户所属的角色,部门,岗位,一个用户可以选择多个角色 部门管理: 管理系统部门信息 岗位管理: 管理系统岗位 在线用户: 查看当前登录系统的用户

2013-02-21

ADO.NET数据库操作SQLHelp类

算是一个通用类,在利用ASP.NET网站和系统开发中可以实现对数据库常用操作

2012-04-05

jjs写的日历控件Calenda

用JS写的日历控件,可以在WEB开发中使用

2012-04-05

空空如也

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

TA关注的人

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