谷徳美食网
您的当前位置:首页Go与PHP的语法是如何对比

Go与PHP的语法是如何对比

来源:谷徳美食网


// Go
package main
import (
 "fmt"
 "runtime"
)
func main() {
 fmt.Print("Go runs on ")

 os := runtime.GOOS;

 switch os {
 case "darwin":
 fmt.Println("OS X.")
 case "linux":
 fmt.Println("Linux.")
 default:
 fmt.Printf("%s.
", os)
 }
}
// PHP
echo "PHP runs on ";

switch (PHP_OS) {
 case "darwin":
 echo "OS X.";
 break;
 case "linux":
 echo "Linux.";
 break;
 default:
 echo PHP_OS;
}

For 循环

// Go
package main
import "fmt"
func main() {
 sum := 0

 for i := 0; i < 10; i++ {
 sum += i
 }

 fmt.Println(sum)
}
// PHP
$sum = 0;

for ($i = 0; $i < 10; $i++) {
 $sum += $i;
}
echo $sum;

While 循环

Go自身没有while循环的语法。相应的,Go使用 for 循环代替实现while循环.

// Go
package main
import "fmt"
func main() {
 sum := 1

 for sum < 100 {
 sum += sum
 }

 fmt.Println(sum)
}
// PHP
$sum = 1;
while ($sum < 100) {
 $sum += $sum;
}
echo $sum;

Foreach/Range

PHP使用 foreach 迭代数组和对象。与之对应, Go使用 range 迭代 slice 或 map。

// Go
package main
import "fmt"
func main() {
 colours := []string{"Maroon", "Red", "Green", "Blue"}

 for index, colour := range colours {
 fmt.Printf("index: %d, colour: %s
", index, colour)
 }
}
// PHP
$colours = ["Maroon", "Red", "Green", "Blue"];

foreach($colours as $index => $colour) {
 echo "index: {$index}, colour: {$colour}
";
}

今天的内容就是这些。我尽量使文章篇幅较小且简洁。作为PHP开发人员, 我尝试在练习Go时分享我的知识。也请随意分享你的想法。希望你们喜欢阅读本篇文章。

显示全文