摘要:
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)
浙公网安备 33010602011771号