Go, Rust 및 C++ 나란히
왜요?
최근에 Javascript, Python, Ruby 및 PHP의 기본 구문을 나란히 보여주는 블로그 게시물을 작성했는데 꽤 좋은 반응을 얻었습니다. 저수준 컴파일 언어로 동일한 작업을 수행할 것이라고 생각했습니다. 따라서 이 게시물에서는 Go, Rust 및 C++에서 많은 기본 작업을 수행하는 방법을 보여 드리겠습니다. Go 및 Rust는 속도와 효율성을 위해 C/C++/Java를 사용하는 상황에 대한 현대적인 대안으로 만들어졌습니다. ).
헬로월드
C++
#include <iostream>
using namespace std;
int main() {
    std::cout << "Hello World \n";
}
가다
package main
import "fmt"
func main(){
    fmt.Println("Hello World")
}
// go run HelloWorld.go
녹
fn main() {
    println!("Hello World!");
}
// rustc HelloWorld.rs && ./HelloWorld
변수 선언
C++
#include <iostream>
using namespace std;
int main() {
    int num = 5;
    bool isItTrue = true;
    char str[] = "Hello World";
    std::cout << "Hello World \n" << str << endl;
}
가다
package main
import "fmt"
func main(){
    var num int = 5
    var isItTrue bool = true
    var hello string = "Hello World"
    dynamicTyping := 6
    fmt.Println("Hello World")
}
녹
fn main() {
    let x = 5; //immutable
    let mut y = 6; //mutable
    const TYPED_CONSTANT:u32 = 100_000;
    let isItTrue:bool = true;
    let aString: str = "Hello World";
    println!("Hello World!");
}
배열 및 키/값 쌍
C++
#include <iostream>
using namespace std;
int main() {
    int nums[] = {1,2,3,4,5,6};
    int five = nums[1] + nums[2];
    std::cout << "Hello World \n";
}
가다
package main
import "fmt"
func main(){
    arr := [5]int{1,2,3,4,5}
    five := arr[1] + arr[2]
    fmt.Println("Hello World")
}
녹
fn main() {
    let nums: [i32; 5] = [1,2,3,4,5];
    let five: i32 = nums[1] + nums[2];
    println!("Hello World!");
}
기능
C++
#include <iostream>
using namespace std;
int addNums (int x, int y){
    return x + y;
}
int main() {
    int num = addNums(5, 6); //returns 11
    std::cout << "Hello World \n";
}
가다
package main
import "fmt"
func addOne(x int, y int) int {
    return x + y
}
func main(){
    num := addOne(5,6)
    fmt.Println("Hello World")
}
녹
fn main() {
    let num: i32 = addOne(5,6);
    println!("Hello World!");
}
fn addOne(x: i32, y: i32) -> i32{
    x+y;
}
앗
C++
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
class Dog {
    //property declaration
    public:
    string name;
    int age;
    //constructor sig
    Dog(string n, int a);
    //method sigs
    void bark();
};
Dog::Dog(string n, int a){
    name = n;
    age = a;
}
void Dog::bark(){
    std::cout << "Woof! \n";
}
int main() {
    Dog sparky("Sparky", 5);
    sparky.bark();
}
가다
package main
import "fmt"
//Define a struct
type Dog struct {
    name string
    age int
}
// Struct Method
func (dog Dog) bark(){
    fmt.Printf(dog.name + " barks.")
}
func main(){
    sparky := Dog{"Sparky", 5}
    sparky.bark()
}
녹
// declare a struct
struct Dog {
    name: String,
    age: i32
}
// declare methods
impl Dog {
    fn bark(&self){
        println!("{} is barking", self.name);
    }
}
fn main() {
    let sparky = Dog{name: String::from("Sparky"), age: 5};
    println!("{} is of age {}", sparky.name, sparky.age);
    sparky.bark();
}
결론적으로
이것이 이 언어들 사이에 무엇이 같고 무엇이 다른지 좋은 시각 자료를 제공하기를 바랍니다.
Reference
이 문제에 관하여(Go, Rust 및 C++ 나란히), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexmercedcoder/go-rust-and-c-side-by-side-4b7d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)