基础语法对比的示例,其中一个是使用Go语言,另一个是相应的C++代码。
- 变量声明和初始化:
Go语言示例:
package main
import "fmt"
func main() {
var a int
a = 10
b := "Hello, world!"
fmt.Println(a)
fmt.Println(b)
}
C++示例:
#include <iostream>
using namespace std;
int main() {
int a;
a = 10;
string b = "Hello, world!";
cout << a << endl;
cout << b << endl;
return 0;
}
2. 条件语句和循环结构:
Go语言示例:
package main
import "fmt"
func main() {
num := 5
if num > 0 {
fmt.Println("Positive")
} else if num == 0 {
fmt.Println("Zero")
} else {
fmt.Println("Negative")
}
for i := 0; i < 5; i++ {
fmt.Println(i)
}
j := 0
for j < 5 {
fmt.Println(j)
j++
}
}
C++示例:
#include <iostream>
using namespace std;
int main() {
int num = 5;
if (num > 0) {
cout << "Positive" << endl;
} else if (num == 0) {
cout << "Zero" << endl;
} else {
cout << "Negative" << endl;
}
for (int i = 0; i < 5; i++) {
cout << i << endl;
}
int j = 0;
while (j < 5) {
cout << j << endl;
j++;
}
return 0;
}
3. 函数定义和调用:
Go语言示例:
package main
import "fmt"
func sum(a, b int) int {
return a + b
}
func main() {
result := sum(5, 3)
fmt.Println(result)
}
C++示例:
#include <iostream>
using namespace std;
int sum(int a, int b) {
return a + b;
}
int main() {
int result = sum(5, 3);
cout << result << endl;
return 0;
}
4. 结构体和方法:
Go语言示例:
package main
import "fmt"
type Rectangle struct {
width int
height int
}
func (r Rectangle) area() int {
return r.width * r.height
}
func main() {
rect := Rectangle{width: 5, height: 3}
fmt.Println(rect.area())
}
C++示例:
#include <iostream>
using namespace std;
class Rectangle {
public:
int width;
int height;
int area() {
return width * height;
}
};
int main() {
Rectangle rect;
rect.width = 5;
rect.height = 3;
cout << rect.area() << endl;
return 0;
}
5.
// C++代码示例
#include <iostream>
using namespace std;
int main() {
int num = 10;
if (num > 0) {
cout << "Positive number" << endl;
} else if (num < 0) {
cout << "Negative number" << endl;
} else {
cout << "Zero" << endl;
}
for (int i = 0; i < 5; i++) {
cout << i << " ";
}
cout << endl;
return 0;
}
// Go代码示例
package main
import "fmt"
func main() {
num := 10
if num > 0 {
fmt.Println("Positive number")
} else if num < 0 {
fmt.Println("Negative number")
} else {
fmt.Println("Zero")
}
for i := 0; i < 5; i++ {
fmt.Print(i, " ")
}
fmt.Println()
}
这个示例展示了一个简单的C++代码和相应的Go代码,以演示相似的思维方式在Go中的应用。
-
在C++中,我们使用
using namespace std引入了命名空间std,以便在代码中使用cout和endl等标准库函数。 -
在Go中,我们使用
import "fmt"引入了标准库包fmt,以便在代码中使用Println和Print等函数。 -
在C++中,我们使用
int关键字声明整数变量num并初始化为10。 -
在Go中,我们使用
:=符号进行短变量声明,声明变量num并将其初始化为10。 -
在C++中,我们使用
if-else if-else控制流语句来判断变量num的值,并输出相应的消息。 -
在Go中,我们也使用
if-else if-else控制流语句来判断变量num的值,并使用Println函数输出相应的消息。 -
在C++中,我们使用
for循环打印0到4的数字。 -
在Go中,我们使用
for循环和短变量声明,打印0到4的数字,并使用Print函数输出。
注意,在Go中,使用Println函数时,默认会在输出后换行,而在C++中,我们使用endl来实现换行。