Go语言中文网 为您找到相关结果 11

golang继承,和多态

package main type ST struct{ } func (s *ST)Show(){ println("ST") } func (s *ST)Show2(){ println("ST:Show2()") } type ST2 struct{ ST I int } func (s *ST2)Show(){ println("ST2") } func main() { s := ST2{I:5} s.Show() s.Show2() println(s.I) } golang语言中没有继承,但是可以依靠组合来模拟继承和多态。 但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心。 $(function () { $('pre.prettyprint code'...阅读全文

博文 2016-06-22 19:00:01 qq_26847293

golang自动生成model结构体

Modeltools GO语言连接Mysql生成对应的model,包括对应字段类型、注释等。生成基础的结构体,不局限于某一个ORM。 源码码地址--------- github:https://github.com/longzongqin/modeltools 码云:https://gitee.com/longzongqin/modeltools 生成示例--------- package models // 管理员表 type AdminInfo struct { Id int `json:"id"` Name string `json:"name"` // 姓名 Username string `json:"username"` // 用户名 Password string `json:...阅读全文

博文 2019-10-02 13:32:44 aside section ._1OhGeD

一、【Zinx第一章-引言】Golang轻量级并发服务器框架

作者:Aceld(刘丹冰) mail: danbing.at@gmail.com github: aceld gitbook: http://legacy.gitbook.com/@aceld 连载技术文章目录 一、【Zinx第一章-引言】Golang轻量级并发服务器框架 二、【Zinx第二章-初识Zinx框架】Golang轻量级并发服务器框架 1、写在前面 ​ 我们为什么要做Zinx,Golang目前在服务器的应用框架很多,但是应用在游戏领域或者其他长链接的领域的轻量级企业框架甚少。 ​ Zinx采用免费,开源,节点支持热更新,继承了golang语言本身的各种优点,开发简单易上手并且功能强大。它主要实现了高性能的异步网络库,分布式节点间的高性能rpc通信,日志管理,数据库支持,gorout...阅读全文

博文 2019-01-30 10:34:45 IT无崖子

goreq: 极简单的流式golang http client

goreq是一个极其简单的流式golang http client。它是我寻找类似Java OKHttp库的golang http client库时创建的。最原始的代码fork自gorequest,它实现了Node.js库SuperAgent类似的功能。但是gorequest有一些bug没有fix,用户也提出了一些新的特性没有支持。我重构了代码,更正了一些bug,增加了新的特性,尤其是POST BODY现在可以支持任意类型, 不再局限于json或者form字符串格式。 因为改动比较大,不好提交pull requests,干脆创建了一个新的轮子。这就是这个项目的最初目的。 比如下面调用baidu API根据IP地址获取地理信息的例子: 12345headers := `{"User-Agent...阅读全文

博文 2017-02-08 12:53:29 smallnest

Golang面向对象之类型、方法、多态

Golang面向对象之类型、方法、多态 一、方法与函数 什么是方法?与函数的区别? 方法就是能够处理某种类型的变量或结构(以下结构也统称为变量)的函数,称为该类型的方法 这意味着,这个变量会传给这个函数,并且这个函数认识这个变量的内部构造 怎样使得一个函数成为一个类型的方法? java和cpp将指向该类型变量的“this”指针作为隐含参数传入该函数 go将该类型变量的拷贝、或者指向该类型变量的指针作为“接收者”传入该函数 java和cpp将该函数藏在类中,以防止外界轻易访问 go中方法可以放置在任意位置 为什么需要一个函数成为一个类型的方法? 原因之一:多态性 如果只有独立分散的函数来处理各种类型,那么会有int_print(int a)、string_print(string a)、per...阅读全文

博文 2015-06-17 20:04:33 max2005

golang继承,和多态

package main type ST struct{ } func (s *ST)Show(){ println("ST") } func (s *ST)Show2(){ println("ST:Show2()") } type ST2 struct{ ST I int } func (s *ST2)Show(){ println("ST2") } func main() { s := ST2{I:5} s.Show() s.Show2() println(s.I) } golang语言中没有继承,但是可以依靠组合来模拟继承和多态。 但是,这样模拟出来的继承是有局限的,也就是说:在需要多态的时候,需要小心...阅读全文

博文 2015-11-27 19:00:31 rufidmx

Kotlin---协程(Coroutine)介绍

线程与进程 进程拥有代码和打开的文件资源、数据资源、独立的内存空间。 线程属于进程,是CPU执行的最小单元。一个进程至少包含一个主线程,也可以拥有多个子线程。线程拥有独立的栈空间。而各个线程共享着进程的代码、内存 、文件FD等。 进程与线程 而线程有如下几种状态: 初始化 可执行 执行中 阻塞 销毁 image.png 线程的调度 对于线程调度,Linux以及其他的操作系统都采用了CFS调度策略(完全公平调度),在操作系统的Ring0的层面来进行线程的调度,来保证每个线程可以根据nice值以及其他的策略来保证每个线程所执行的虚拟时间相对公平。 每次线程的切换,都必须通过系统调用从Ring3的应用层调用到Ring0的内核层进行切换,而在内核层保存切换的线程Context,包括当前各个寄存器的值...阅读全文

博文 2018-12-14 16:34:43 None_Ling

Linux USB "On-The-Go"(OTG) on OMAP H2 软件架构分析(二)

编程接口的变化 为了支持OTG特性,编程接口上作了尽可能小的改动。这些改动并不会改变已有的编程模型:主机端仍然会用 urb和usb_device,设备端仍然会用ueb_request和usb_gadget。从某些角度来说,也许我们更希望将urb变成类似urb_gadget这样的轻量级模型,这样在主机和设备端就可以有对称的编程接口。但是现在还没必要去这样做。 设备端:usb设备控制器(USB Device Controller) 在gadget接口中新添了一些OTG状态标志和usb_gadget_*()调用。用户接口通过OTG状态标志来报告OTG设备的需要,而新增的gadget调用用来支持新的USB状态的转变(一些调用也可以支持non-OTG系统)。除了is_otg标志,其他的状态标志还局限于...阅读全文

博文 2016-01-30 00:00:03 zkami

区块链的新概念“胖协议”

最近得到一个新概念,胖协议(Fat Protocols)。(胖协议可以理解为基础链)胖协议的概念来自于Fat Protocols,翻译版见文章末尾。从这个角度看过去,或许我们能更清楚互联网和区块链之间的区别。 图1-互联网生态 vs 区块链生态。我们经常用到的App,但凡跟网络沾边,就都离不开协议。说到协议,除了经常看到的http:/(HTTP协议),经常听到的IP地址(IP协议),其他我们知道的并不多。其实,网络上每个消息的发送与接收,都离不开协议。协议就像人们约定成俗的语言,没有协议,电脑之间无法通讯,网络也就不复存在。就好像你说A语,我说B语,大家谁也听不懂谁。 协议如此重要,可它却是价值最小的。但也不奇怪,因为那都是瘦协议,薄薄的一层,只约定了软件应该如何通讯。比如微信,发送消息使用...阅读全文

博文 2017-07-29 18:06:23 大硕简书

小巧玲珑的计算机语言 - Red - 双语 - R1.1

Red语言并不是一个很流行的语言,它自REBOL语言发展而来,但包括Red和它的母语REBOL,甚至都没有排进编程语言排行榜的前50位(根据最新一期TIOBE排行榜)。但是,Red语言是一门小巧玲珑,而又功能不弱的轻量级编程语言。所谓的轻量级,是指整个语言的编写相对更贴近一般人类的思路,贴近高级语言因而书写便捷,编程和运行环境非常简单,实际上只有一个可执行文件。而功能不弱,体现在下面几个地方:跨平台、即支持解释运行又支持编译运行、内置的语言级别上支持图形界面(GUI)开发、方便的网络编程能力(例如发邮件、抓取网页等往往一条语句就可以实现)。 下面,我们从英语原文来稍作深入地了解一下。注意:我们的译文会增加一些必要的解释。Red is a programming language that f...阅读全文

博文 2020-03-03 15:33:12 陆满庭

golang package的一些特性

1、go的package不局限于一个文件,组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同文件相互之间可以直接引用变量和函数,不论是否导出; 2、go不要求package的名称和所在目录名相同,但是你最好保持相同,否则容易引起歧义。因为引入包的时候,go会使用子目录名作为包的路径,而你在代码中真正使用时,却要使用你package的名称。 3、每个子目录中只能存在一个package,否则编译时会报错。 4、go的package是以绝对路径GOPATH来寻址的,不要用相对路径来impor...阅读全文

博文 2018-08-07 12:34:48 RaferYY