网站首页 > 文章中心 > 其它

go语言惰性匹配

作者:小编 更新时间:2023-10-05 08:31:53 浏览量:230人看过

go语言可以做什么

①.、服务器编程:以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等.

go语言惰性匹配-图1

自1.0版发布以来,go语言引起了众多开发者的关注,并得到了广泛的应用.go语言简单、高效、并发的特点吸引了许多传统的语言开发人员,其数量也在不断增加.

使用 Go 语言开发的开源项目非常多.早期的 Go 语言开源项目只是通过 Go 语言与传统项目进行C语言库绑定实现,例如 Qt、Sqlite 等.

后期的很多项目都使用 Go 语言进行重新原生实现,这个过程相对于其他语言要简单一些,这也促成了大量使用 Go 语言原生开发项目的出现.

go语言编译器有哪些官网

谷歌资深软件工程师罗布-派克(Rob Pike)表示,"Go让我体验到了从未有过的开发效率."派克表示,和今天的C++或C一样,Go是一种系统语言.他解释道,"使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大."

撰写风格:

在Go中有几项规定,当不匹配以下规定时编译将会产生错误.

每行程序结束后不需要撰写分号(;).

go语言惰性匹配-图2

大括号({)不能够换行放置.

if判断式和for循环不需要以小括号包覆起来.Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab.

go语言的reflect(反射)

①.、反射可以在运行时 动态获取变量的各种信息 ,比如变量的类型、类别;

①.、不知道接口调用哪个函数,根据传入参数在运行时确定调用的具体接口,这种需要对函数或方法反射.

例如以下这种桥接模式:

示例第一个参数funcPtr以接口的形式传入函数指针,函数参数args以可变参数的形式传入,bridge函数中可以用反射来动态执行funcPtr函数.

①.、reflect.TypeOf(变量名),获取变量的类型,返回reflect.Type类型.

①.、reflect.Value.Kind,获取变量的 类别(Kind) ,返回的是一个 常量 .在go语言文档中:

示例如下所示:

输出如下:

Kind的范畴要比Type大.比如有Student和Consumer两个结构体,他们的 Type 分别是 Student 和 Consumer ,但是它们的 Kind 都是 struct .

如果是x是float类型的话,也是要用reflect.Value(x).Float().但是如果是struct类型的话,由于type并不确定,所以没有相应的方法,只能 断言.

以上就是土嘎嘎小编为大家整理的go语言惰性匹配相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章