11
2020
04

go语言中指针运算有哪些?

可以通过“&”取指针的地址可以通过“*”取指针指向的数据
11
2020
04

说说go语言的main函数

main函数不能带参数main函数不能定义返回值main函数所在的包必须为main包main函数中可以使用flag包来获取和解析命令行参数
11
2020
04

说说go语言的同步锁?

(1) 当一个goroutine获得了Mutex后,其他goroutine就只能乖乖的等待,除非该goroutine释放这个Mutex(2) RWMutex在读锁占用的情况下,会阻止写,但不阻止读(3) RWMutex在写锁占用情况下,会阻止任何其他goroutine(无论读和写)进来,整个锁相当于由该goroutine独占
11
2020
04

说说go语言的channel特性?

A. 给一个 nil channel 发送数据,造成永远阻塞B. 从一个 nil channel 接收数据,造成永远阻塞C. 给一个已经关闭的 channel 发送数据,引起 panicD. 从一个已经关闭的 channel 接收数据,如果缓冲区中为空,则返回一个零值E. 无缓冲的channel是同步的,而有缓冲的channel是非同步的
11
2020
04

go语言触发异常的场景有哪些?

A. 空指针解析B. 下标越界C. 除数为0D. 调用panic函数
11
2020
04

说说go语言的beego框架?

A. beego是一个golang实现的轻量级HTTP框架B. beego可以通过注释路由、正则路由等多种方式完成url路由注入C. 可以使用bee new工具生成空工程,然后使用bee run命令自动热编译
11
2020
04

说说go语言的goconvey框架?

A. goconvey是一个支持golang的单元测试框架B. goconvey能够自动监控文件修改并启动测试,并可以将测试结果实时输出到web界面C. goconvey提供了丰富的断言简化测试用例的编写 
11
2020
04

go语言中,GoStub的作用是什么?

A. GoStub可以对全局变量打桩B. GoStub可以对函数打桩C. GoStub不可以对类的成员方法打桩D. GoStub可以打动态桩,比如对一个函数打桩后,多次调用该函数会有不同的行为 
11
2020
04

说说go语言的select机制?

A. select机制用来处理异步IO问题B. select机制最大的一条限制就是每个case语句里必须是一个IO操作C. golang在语言级别支持select关键字
11
2020
04

说说进程、线程、协程之间的区别?

进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元;同一个进程中可以包括多个线程;进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束;线程共享整个进程的资源(寄存器、堆栈、上下文),一个进程至少包括一个线程;进程的创建调用fork或者vfork,而线程的创建调用pthread_create;线程中执行时一般都要进行同步和互斥,因为他们共享同一进程的所有资源; 进程是资源分配的单位 线程是操作系统调度的单位 进程切换需要