Go语言是21世纪的C语言,性能接近C/C++等编译型语言,又类似于脚本语言(PHP、javascript、 Python)易于上手和学习,有Google支持,拥有强大的开发团队和活跃的社区。
package main
import "fmt"
func main(){
s := “你好世界”
fmt.Println(s)
}
Go 是一种强类型语言。声明变量时需要指定变量的类型
var i int = 10
b := 10//错误
func 测试(){
秒 := 10
秒 : = "测试"//错误
}
PHP 是一种弱类型编程语言。声明变量时,不需要指定变量的类型,语言会推导它。不过,后面还是可以给变量赋值其他类型的值
$a = 10;
$a = “测试”;
for
语句、if
语句和switch
语句的条件体不需要括号 ()
对于 i := 0;我<10; i++ {
}
i := 10
if i == 10 {
}
x := 10
开关 x{
}
$a = 10;
开关($a) {
情况 10:
回声“111”;
断裂;
情况 20:
回声 “222” ;
断裂;
}
执行开关语句
func main() {
var level string = "B"
var 分数 int = 90
切换分数 {
案例 90:等级= “A”
案例 80:等级= “B”
案例 50,60,70 :等级= "C"
默认:等级= "D"
}
开关 {
案例 级别== “A” :
fmt.Printf("优秀!n")
案例 级别 == “B”, 级别 == "C" :
fmt.Printf("很好n")
案例级别==“D”:
fmt.Printf("及格n" )
case 级别== "F":
fmt.Printf( "不及格n" )
默认:
fmt.Printf("差n" ); }
fmt.Printf("你的成绩为: %sn", 等级);
}
-
fallthrough关键字
package main
import "fmt"
func main() {
开关{
案例 假 ? case true:
FMT.println ( "2、Case 条件语句为 true" )
失败
Case False:
fmt.println("3. case 条件语句为 false") 真:
case 条件语句为 true")
case false:
fmt.Println("5. case 条件语句为 false" ) )
}
}
循环
Go语言不像其他编程那样支持while
或do...while
语句,也没有像其他编程那样的foreach PHP。 ,Go 中的循环 只有 for
语句
-
正常循环
对于 i := 0;我<10; i++ {
}
-
遍历数组、地图或切片
for k,v := 范围 arr {
}
可变可视性
在 PHP 中,如果不使用类,就没有变量可见性。所有变量均已声明:
a.php
$a = 10;
b.php
include_once("a.php");
echo $a;//输出10
如果使用类,类的成员可以因公共、受保护和私有而区分成员的可见性。
A级{
公共$a;
私人 $b;
受保护 $c ;
}
B 类延伸 A{
}
Go 语言使用包来组织代码。变量的可见性非常简单。第一个字母是。是否大写可见且包装内全部可见
a.go
package my
var 用户名字符串 = "test"
var Age int = 20
const Test = "test"
常量 t = 123
b.go
package my
func GetUsername() string {
return用户名
} func GetA ge()int{
返回 getAge ( )
}
func getAge()int{
return a
}
main.go
包主
导入“我的”
导入“fmt”
功能主要(){
fmt.Println(my.Username) ? fmt.Println(my.age)//错误
fmt.Println(my.getAge())//
需要编译吗?
Go静态编译语言,PHP动态脚本语言
由于脚本语言需要由解释器解释执行,因此其执行性能比编译语言差。