摘要: golang的各种预置的变量类型int string等等都是实现了interface{} package main import "fmt" //interface{}是万能数据类型 func myFunc(arg interface{}) { fmt.Println("myFunc is call 阅读全文
posted @ 2021-03-18 01:53 从程序员到CTO 阅读(204) 评论(0) 推荐(0)
摘要: 1 基类接口 // 基类,接口 type AnimalIF interface { Sleep() GetColor() string //获取动物的颜色 GetType() string //获取动物的种类 } 2 实现类-猫 //具体的类 type Cat struct { color stri 阅读全文
posted @ 2021-03-18 01:42 从程序员到CTO 阅读(104) 评论(0) 推荐(0)
摘要: 2005左右,我从VC开发组转入linux c/c++开发组,见证了其他linux c/c++老同事因为gcc+gdb+文件log,调式多线程程序的时候的苦。 作为唱过VC单步调试复杂多线程程序的甜头的我,自然不肯走他们的老路。于是我开始寻找新方法。 对于Linux环境下C++的开发工具的选型,我花 阅读全文
posted @ 2021-03-18 01:09 从程序员到CTO 阅读(209) 评论(0) 推荐(0)
摘要: golang的继承的实现机制,并没有使用extend关键字,而是使用了设计模式中推荐的组合模式。 从一系列的机制来看,golang的设计原则貌似是保持尽量少的关键字,于是我们程序员就不得不用struct+外部函数的方式实现类,不得不用组合模式显式的实现继承机制。 基类: type Human str 阅读全文
posted @ 2021-03-18 01:01 从程序员到CTO 阅读(194) 评论(0) 推荐(0)
摘要: golang的设计原则是尽量减少关键字,因此, 没有class,用结构体实现类,用标准c的方法或者c++编译器的方法,使用this参数和外部函数实现类方法。 没有extend,用组合式设计模式实现继承 没有private,public,用大小写表示是否允许外部访问。 从语言简洁度的角度来说,这个思路 阅读全文
posted @ 2021-03-18 00:50 从程序员到CTO 阅读(56) 评论(0) 推荐(0)
摘要: 现在版本的golang中没有class关键字。golang沿用了标准c对类的模拟,或者c++编译器中对OOP的实现:基于结构体struct实现了类的机制。 package main import "fmt" //如果类名首字母大写,表示其他包也能够访问 type Hero struct { //如果 阅读全文
posted @ 2021-03-18 00:34 从程序员到CTO 阅读(281) 评论(0) 推荐(0)
摘要: 与c/c++一样 //type 关键字可以定义类型的别名 type myint int //type 关键字可以定义一个结构体 type Book struct { title string auth string } // 传值 func changeBook(book Book) { //传递一 阅读全文
posted @ 2021-03-18 00:11 从程序员到CTO 阅读(59) 评论(0) 推荐(0)
交流加我QQ:39667545