HugoNikanors blogg‽

En blogg om datorer; spel, programmering & annat. Samt möjligen livet.

Hugo Hornquist 03 Jan 2018

Hur jag skrev "Hello, World!" i Rust

Nyligen har jag funderat på att skriva en client till ett protokoll vilket agerar via TCP sockets. Min första tanke var att skriva det i C, eftersom det är ett simpelt språk. Tyvärr var alla exempel alldeles för krångliga, och innehöll stora mängder DNS av någon anledning. Efter viss diskussion om C, C++ och andra språk blev kom vi fram till att Rust nog var ett trevligt mellansteg.

Nu har jag hört att varje gång man börjar med ett nytt programmeringsspråk ska man alltid först skriva "Hello, World!". Så jag började jobba. Flera minuter efter att innan aldrig skrivit Rust innan var jag klar:

use std::io::prelude::*;
use std::net::TcpStream;

fn main () {
    let mut stream = TcpStream::connect ("127.0.0.1:8080").unwrap();

    let _ = stream.write(&[1]);
    let mut data = [0; 128];
    let _ = stream.read(&mut data);
    println!("{}", String::from_utf8_lossy(&data));
}

För att köra behöver först en "Hello, World!" server skapas, vilket enklast görs genom:

echo "Hello, World!" | nc -l 8080

När programmet sedan körs skrivs "Hello, World!" ut på skärmen. Jag överväger om det finns ett enklare sätt att få samma resultat. Men eftersom jag inte kan Rust kan jag inte uttala mig i frågan.


About Contact Legal Q&A