相同问题go语言与php的实现对比-创新互联
一、面向对象
创新互联专注于企业网络营销推广、网站重做改版、龙胜网站定制设计、自适应品牌网站建设、HTML5建站、商城网站定制开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为龙胜等各大城市提供网站开发制作服务。php:
class Rectangle { private $width; private $height; private $color; public function __construct($width, $height, $color) { $this->width = $width; $this->height = $height; $this->color = $color; } public function setColor($color) { $this->color = $color; } public function getColor() { return $this->color; } public function area() { return $this->width * $this->height; } } $r1 = new Rectangle(12, 2, "白色"); $r2 = new Rectangle(9, 4, "蓝色"); echo "Area of r1 is ". $r1->area()."\n"; echo "Area of r2 is ". $r2->area()."\n"; echo "Color of r2 is ". $r2->getColor()."\n"; echo "set new color\n"; $r2->setColor("绿色"); echo "Color of r2 is ". $r2->getColor()."\n";
go:
package main import "fmt" type Rectangle struct { width, height float64 color string } // 如果声明接收者为指定,当使用T类型来调用时,go会自动转换为*T,太TM聪明了 func (r *Rectangle) SetColor(color string) { r.color = color } func (r Rectangle) area() float64 { return r.width * r.height } func main() { r1 := Rectangle{12, 2, "白色"} r2 := Rectangle{9, 4, "蓝色"} fmt.Println("Area of r1 is: ", r1.area()) fmt.Println("Area of r2 is: ", r2.area()) fmt.Println("Color of r2 is: ", r2.color) fmt.Println("set new color") r2.SetColor("绿色") // 等价于(&r2).SetColor("绿色"),这里r2不需要传地址,当然,传地址也不错,只是go会自动帮助转换,没有必要 fmt.Println("Color of r2 is: ", r2.color) }
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:相同问题go语言与php的实现对比-创新互联
文章位置:http://pwwzsj.com/article/ccdhch.html