ืœืžื” Go ื–ื” ืจืข ืœืžืชื›ื ืชื™ื ืœื ื—ื›ืžื™ื

ื”ืžืืžืจ ื ื›ืชื‘ ื›ืชื’ื•ื‘ื” ืœืžืืžืจ ืฉืคื•ืจืกื ื‘ืขื‘ืจ ืžืืžืจ ืื ื˜ื™-ืคื•ื“ื™.

ืœืžื” Go ื–ื” ืจืข ืœืžืชื›ื ืชื™ื ืœื ื—ื›ืžื™ื

ื‘ืžื”ืœืš ื”ืฉื ืชื™ื™ื ื”ืื—ืจื•ื ื•ืช ืคืœื•ืก ื”ืฉืชืžืฉืชื™ ื‘-Go ื›ื“ื™ ืœื™ื™ืฉื ืฉืจืช RADIUS ืžื™ื•ื—ื“ ืขื ืžืขืจื›ืช ื—ื™ื•ื‘ ืžืคื•ืชื—ืช. ืขืœ ื”ื“ืจืš, ืื ื™ ืœื•ืžื“ ืืช ื ื‘ื›ื™ ื”ืฉืคื” ืขืฆืžื”. ื”ืชื•ื›ื ื•ืช ืขืฆืžืŸ ืคืฉื•ื˜ื•ืช ืžืื•ื“ ื•ืื™ื ืŸ ืžื˜ืจืช ืžืืžืจ ื–ื”, ืืš ื—ื•ื•ื™ืช ื”ืฉื™ืžื•ืฉ ื‘-Go ืขืฆืžื” ืจืื•ื™ื” ืœืžืกืคืจ ืžื™ืœื™ื ืœื”ื’ื ืชื”. Go ื”ื•ืคื›ืช ืœื”ื™ื•ืช ื™ื•ืชืจ ื•ื™ื•ืชืจ ืฉืคื” ืžื™ื™ื ืกื˜ืจื™ื ืขื‘ื•ืจ ืงื•ื“ ืจืฆื™ื ื™ ื•ื ื™ืชืŸ ืœื”ืจื—ื‘ื”. ื”ืฉืคื” ื ื•ืฆืจื” ืขืœ ื™ื“ื™ ื’ื•ื’ืœ, ืฉื ื ืขืฉื” ื‘ื” ืฉื™ืžื•ืฉ ืคืขื™ืœ. ื‘ืฉื•ืจื” ื”ืชื—ืชื•ื ื”, ืื ื™ ื‘ืืžืช ื—ื•ืฉื‘ ืฉื”ืขื™ืฆื•ื‘ ืฉืœ ืฉืคืช ื”-Go ืจืข ืœืžืชื›ื ืชื™ื ืœื ืื™ื ื˜ืœื™ื’ื ื˜ื™ื.

ืžื™ื•ืขื“ ืœืžืชื›ื ืชื™ื ื—ืœืฉื™ื?

ื”ื—ืœืฉื™ื ืžื“ื‘ืจื™ื ืขืœ ื‘ืขื™ื•ืช. ื”ื“ื™ื‘ื•ืจื™ื ื”ื—ื–ืงื™ื ืขืœ ืจืขื™ื•ื ื•ืช ื•ื—ืœื•ืžื•ืช...

ืงืœ ืžืื•ื“ ืœืœืžื•ื“ Go, ื›ืœ ื›ืš ืงืœ ืฉืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืืช ื”ืงื•ื“ ื›ืžืขื˜ ืœืœื ื”ื›ืฉืจื” ื›ืœืœ. ืชื›ื•ื ื” ื–ื• ืฉืœ ื”ืฉืคื” ืžืฉืžืฉืช ื‘ื—ื‘ืจื•ืช ื’ืœื•ื‘ืœื™ื•ืช ืจื‘ื•ืช ื›ืืฉืจ ื”ืงื•ื“ ื ืงืจื ื™ื—ื“ ืขื ืžื•ืžื—ื™ื ืฉืื™ื ื ื”ืœื™ื‘ื” (ืžื ื”ืœื™ื, ืœืงื•ื—ื•ืช ื•ื›ื•'). ื–ื” ืžืื•ื“ ื ื•ื— ืœืžืชื•ื“ื•ืœื•ื’ื™ื•ืช ื›ืžื• ืคื™ืชื•ื— ืžื•ื ื—ื” ืขื™ืฆื•ื‘.
ืืคื™ืœื• ืžืชื›ื ืชื™ื ืžืชื—ื™ืœื™ื ืžืชื—ื™ืœื™ื ืœื™ื™ืฆืจ ืงื•ื“ ื”ื’ื•ืŸ ืœืžื“ื™ ืœืื—ืจ ืฉื‘ื•ืข ืื• ืฉื‘ื•ืขื™ื™ื. ื”ืกืคืจ ืฉืœืžื“ืชื™ ืžืžื ื• ื”ื•ื "Go Programming" (ืžืืช ืžืืจืง ืกืืžืจืคื™ืœื“). ื”ืกืคืจ ื˜ื•ื‘ ืžืื•ื“, ื”ื•ื ื ื•ื’ืข ื‘ื ื™ื•ืื ืกื™ื ืจื‘ื™ื ืฉืœ ื”ืฉืคื”. ืื—ืจื™ ืฉืคื•ืช ืžืกื•ื‘ื›ื•ืช ืฉืœื ืœืฆื•ืจืš ื›ืžื• Java, PHP, ื—ื•ืกืจ ื”ืงืกื ืžืจืขื ืŸ. ืื‘ืœ ื‘ืžื•ืงื“ื ืื• ื‘ืžืื•ื—ืจ, ืœืžืชื›ื ืชื™ื ืžื•ื’ื‘ืœื™ื ืจื‘ื™ื ื™ืฉ ืืช ื”ืจืขื™ื•ืŸ ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื•ืช ื™ืฉื ื•ืช ื‘ืชื—ื•ื ื—ื“ืฉ. ื”ืื ื–ื” ื‘ืืžืช ื ื—ื•ืฅ?

ืจื•ื‘ ืคื™ื™ืง (ื”ืื™ื“ื™ืื•ืœื•ื’ ื”ืจืืฉื™ ืฉืœ ื”ืฉืคื”) ื™ืฆืจ ืืช ืฉืคืช ื”ื’ื• ื›ืฉืคื” ืชืขืฉื™ื™ืชื™ืช ืงืœื” ืœื”ื‘ื ื” ื•ื™ืขื™ืœื” ืœืฉื™ืžื•ืฉ. ื”ืฉืคื” ืžื™ื•ืขื“ืช ืœืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ืžืจื‘ื™ืช ื‘ืฆื•ื•ืชื™ื ื’ื“ื•ืœื™ื ื•ืื™ืŸ ื‘ื›ืš ืกืคืง. ืžืชื›ื ืชื™ื ืžืชื—ื™ืœื™ื ืจื‘ื™ื ืžืชืœื•ื ื ื™ื ืฉื™ืฉ ื”ืจื‘ื” ืชื›ื•ื ื•ืช ืฉื—ืกืจื•ืช ืœื”ื. ื”ืจืฆื•ืŸ ื”ื–ื” ืœืคืฉื˜ื•ืช ื”ื™ื” ื”ื—ืœื˜ื” ืžื•ื“ืขืช ืฉืœ ืžืขืฆื‘ื™ ื”ืฉืคื”, ื•ื›ื“ื™ ืœื”ื‘ื™ืŸ ื”ื™ื˜ื‘ ืžื“ื•ืข ื”ื™ื” ืฆื•ืจืš ื‘ื›ืš, ืขืœื™ื ื• ืœื”ื‘ื™ืŸ ืืช ื”ืžื•ื˜ื™ื‘ืฆื™ื” ืฉืœ ื”ืžืคืชื—ื™ื ื•ืžื” ื”ื ื ื™ืกื• ืœื”ืฉื™ื’ ื‘-Go.

ืื– ืœืžื” ื–ื” ื ืขืฉื” ื›ืœ ื›ืš ืคืฉื•ื˜? ื”ื ื” ื›ืžื” ืฆื™ื˜ื•ื˜ื™ื ืฉืœ ืจื•ื‘ ืคื™ื™ืง:

ื ืงื•ื“ืช ื”ืžืคืชื— ื›ืืŸ ื”ื™ื ืฉื”ืžืชื›ื ืชื™ื ืฉืœื ื• ืื™ื ื ื—ื•ืงืจื™ื. ื”ื, ื›ื›ืœืœ, ื“ื™ ืฆืขื™ืจื™ื, ืžื’ื™ืขื™ื ืืœื™ื ื• ืœืื—ืจ ืœื™ืžื•ื“ื™ื, ืื•ืœื™ ื”ื ืœืžื“ื• Java, ืื• C/C++, ืื• Python. ื”ื ืœื ื™ื›ื•ืœื™ื ืœื”ื‘ื™ืŸ ืฉืคื” ืžืฆื•ื™ื ืช, ืื‘ืœ ื™ื—ื“ ืขื ื–ืืช ืื ื—ื ื• ืจื•ืฆื™ื ืฉื”ื ื™ื™ืฆืจื• ืชื•ื›ื ื” ื˜ื•ื‘ื”. ืœื›ืŸ ื”ืฉืคื” ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืงืœื” ืœื”ื‘ื ื” ื•ืœืœืžื•ื“.

ื”ื•ื ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ื›ืจ, ื‘ืขืจืš ื‘ื“ื•ืžื” ืœ-C. ืžืชื›ื ืชื™ื ื”ืขื•ื‘ื“ื™ื ื‘ื’ื•ื’ืœ ืžืชื—ื™ืœื™ื ืืช ื”ืงืจื™ื™ืจื” ืฉืœื”ื ืžื•ืงื“ื ื•ืžื›ื™ืจื™ื ื‘ืขื™ืงืจ ืฉืคื•ืช ืคืจื•ืฆื“ื•ืจืœื™ื•ืช, ื‘ืžื™ื•ื—ื“ ืžืฉืคื—ืช C. ื”ื“ืจื™ืฉื” ืœืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ืžื”ื™ืจื” ื‘ืฉืคืช ืชื›ื ื•ืช ื—ื“ืฉื” ืคื™ืจื•ืฉื” ืฉื”ืฉืคื” ืœื ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืจื“ื™ืงืœื™ืช ืžื“ื™.

ืžื™ืœื™ื ื ื‘ื•ื ื•ืช, ืœื?

ื—ืคืฆื™ื ืฉืœ ืคืฉื˜ื•ืช

ืคืฉื˜ื•ืช ื”ื™ื ืชื ืื™ ื”ื›ืจื—ื™ ืœื™ื•ืคื™. ืœื‘ ื˜ื•ืœืกื˜ื•ื™.

ืฉืžื™ืจื” ืขืœ ื”ืคืฉื˜ื•ืช ื”ื™ื ืื—ืช ื”ืžื˜ืจื•ืช ื”ื—ืฉื•ื‘ื•ืช ื‘ื™ื•ืชืจ ื‘ื›ืœ ืขื™ืฆื•ื‘. ื›ื™ื“ื•ืข, ืคืจื•ื™ืงื˜ ืžื•ืฉืœื ื”ื•ื ืœื ืคืจื•ื™ืงื˜ ืฉืื™ืŸ ื‘ื• ืžื” ืœื”ื•ืกื™ืฃ, ืืœื ื›ื–ื” ืฉืื™ืŸ ืžื” ืœื”ืกื™ืจ ืžืžื ื•. ืื ืฉื™ื ืจื‘ื™ื ืžืืžื™ื ื™ื ืฉื›ื“ื™ ืœืคืชื•ืจ (ืื• ืืคื™ืœื• ืœื‘ื˜ื) ื‘ืขื™ื•ืช ืžื•ืจื›ื‘ื•ืช, ื™ืฉ ืฆื•ืจืš ื‘ื›ืœื™ ืžื•ืจื›ื‘. ืขื ื–ืืช, ื–ื” ืœื. ื ื™ืงื— ืœื“ื•ื’ืžื ืืช ืฉืคืช PERL. ืื™ื“ื™ืื•ืœื•ื’ื™ื ืฉืœ ืฉืคื” ื”ืืžื™ื ื• ืฉืœืžืชื›ื ืช ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืœืคื—ื•ืช ืฉืœื•ืฉ ื“ืจื›ื™ื ืฉื•ื ื•ืช ืœืคืชื•ืจ ื‘ืขื™ื” ืื—ืช. ื”ืื™ื“ื™ืื•ืœื•ื’ื™ื ืฉืœ ืฉืคืช ื”ื’ื• ื ืงื˜ื• ื‘ื“ืจืš ืื—ืจืช; ื”ื ื”ื—ืœื™ื˜ื• ืฉื“ื™ ื‘ื“ืจืš ืื—ืช, ืื‘ืœ ืžืžืฉ ื˜ื•ื‘ื”, ื›ื“ื™ ืœื”ืฉื™ื’ ืืช ื”ืžื˜ืจื”. ืœื’ื™ืฉื” ื”ื–ื• ื™ืฉ ื™ืกื•ื“ ืจืฆื™ื ื™: ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ื”ื™ื ืงืœื” ื™ื•ืชืจ ืœืœืžื•ื“ ื•ืงืฉื” ื™ื•ืชืจ ืœืฉื›ื•ื—.

ืžื”ื’ืจื™ื ืจื‘ื™ื ืžืชืœื•ื ื ื™ื ืฉื”ืฉืคื” ืื™ื ื” ืžื›ื™ืœื” ื”ืคืฉื˜ื•ืช ืืœื’ื ื˜ื™ื•ืช. ื›ืŸ, ื–ื” ื ื›ื•ืŸ, ืื‘ืœ ื–ื” ืื—ื“ ื”ื™ืชืจื•ื ื•ืช ื”ืขื™ืงืจื™ื™ื ืฉืœ ื”ืฉืคื”. ื”ืฉืคื” ืžื›ื™ืœื” ืžื™ื ื™ืžื•ื ืงืกื - ื›ืš ืฉืœื ื ื“ืจืฉ ื™ื“ืข ืžืขืžื™ืง ืœืงืจื™ืืช ื”ืชื•ื›ื ื™ืช. ื‘ืืฉืจ ืœืžื™ืœื•ืœื™ื•ืช ื”ืงื•ื“, ื–ื• ืœื ื‘ืขื™ื” ื‘ื›ืœืœ. ืชื•ื›ื ื™ืช ื’ื•ืœื ื’ ื›ืชื•ื‘ื” ื”ื™ื˜ื‘ ืงื•ืจืืช ืื ื›ื™ืช, ืขื ืžืขื˜ ืžื‘ื ื” ืื• ืœืœื ืžื‘ื ื”. ื‘ื ื•ืกืฃ, ืžื”ื™ืจื•ืช ืงืจื™ืืช ืชื•ื›ื ื™ืช ื’ื“ื•ืœื” ืœืคื—ื•ืช ื‘ืกื“ืจ ื’ื•ื“ืœ ืžืžื”ื™ืจื•ืช ื›ืชื™ื‘ืชื”. ืื ืืชื” ืžื—ืฉื™ื‘ ืฉืœื›ืœ ื”ืงื•ื“ ื™ืฉ ืขื™ืฆื•ื‘ ืื—ื™ื“ (ื ืขืฉื” ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” ื”ืžื•ื‘ื ื™ืช gofmt), ืื– ืงืจื™ืืช ื›ืžื” ืฉื•ืจื•ืช ื ื•ืกืคื•ืช ืื™ื ื” ืžื”ื•ื•ื” ื‘ืขื™ื” ื›ืœืœ.

ืœื ืžืื•ื“ ืืงืกืคืจืกื™ื‘ื™

ื”ืืžื ื•ืช ืื™ื ื” ืกื•ื‘ืœืช ื›ืืฉืจ ื”ื—ื•ืคืฉ ืฉืœื” ืžื•ื’ื‘ืœ. ื”ื“ื™ื•ืง ืื™ื ื• ื‘ืื—ืจื™ื•ืชื•.

ื‘ืฉืœ ื”ืจืฆื•ืŸ ืœืคืฉื˜ื•ืช, ื—ืกืจื™ื ื‘-Go ืžื‘ื ื™ื ืฉื‘ืฉืคื•ืช ืื—ืจื•ืช ื ืชืคืกื™ื ื›ืžืฉื”ื• ื˜ื‘ืขื™ ืขืœ ื™ื“ื™ ืื ืฉื™ื ืฉืจื’ื™ืœื™ื ืืœื™ื”ื. ื‘ื”ืชื—ืœื” ื–ื” ืื•ืœื™ ืงืฆืช ืœื ื ื•ื—, ืื‘ืœ ืื– ืืชื” ืฉื ืœื‘ ืฉื”ืชื•ื›ื ื™ืช ื”ืจื‘ื” ื™ื•ืชืจ ืงืœื” ื•ื—ื“ ืžืฉืžืขื™ืช ืœืงืจื™ืื”.

ืœื“ื•ื’ืžื”, ื›ืœื™ ืขื–ืจ ืœืžืกื•ืฃ ืฉืงื•ืจื stdin ืื• ืงื•ื‘ืฅ ืžืืจื’ื•ืžื ื˜ื™ื ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ื™ื™ืจืื” ื›ืš:

package main

import (
    "bufio"
    "flag"
    "fmt"
    "log"
    "os"
)

func main() {

    flag.Parse()

    scanner := newScanner(flag.Args())

    var text string
    for scanner.Scan() {
        text += scanner.Text()
    }

    if err := scanner.Err(); err != nil {
        log.Fatal(err)
    }

    fmt.Println(text)
}

func newScanner(flags []string) *bufio.Scanner {
    if len(flags) == 0 {
        return bufio.NewScanner(os.Stdin)
    }

    file, err := os.Open(flags[0])

    if err != nil {
        log.Fatal(err)
    }

    return bufio.NewScanner(file)
}

ื”ืคืชืจื•ืŸ ืœืื•ืชื” ื‘ืขื™ื” ื‘-D, ืœืžืจื•ืช ืฉื”ื•ื ื ืจืื” ืžืขื˜ ื™ื•ืชืจ ืงืฆืจ, ืœื ืงืœ ื™ื•ืชืจ ืœืงืจื™ืื”

import std.stdio, std.array, std.conv;

void main(string[] args)
{
    try
    {
        auto source = args.length > 1 ? File(args[1], "r") : stdin;
        auto text   = source.byLine.join.to!(string);

        writeln(text);
    }
    catch (Exception ex)
    {
        writeln(ex.msg);
    }
}

ืœืขื–ืื–ืœ ืฉืœ ื”ืขืชืงื”

ื”ืื“ื ื ื•ืฉื ื‘ืชื•ื›ื• ื’ื™ื”ื ื•ื. ืžืจื˜ื™ืŸ ืœื•ืช'ืจ.

ืžืชื—ื™ืœื™ื ืžืชืœื•ื ื ื™ื ื›ืœ ื”ื–ืžืŸ ืขืœ Go ื‘ืžื•ื ื—ื™ื ืฉืœ ื—ื•ืกืจ ื‘ื’ื ืจื™ื•ืช. ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•, ืจื•ื‘ื ืžืฉืชืžืฉื™ื ื‘ื”ืขืชืงืช ืงื•ื“ ื™ืฉื™ืจื”. ืœื“ื•ื’ืžื”, ืคื•ื ืงืฆื™ื” ืœืกื™ื›ื•ื ืจืฉื™ืžื” ืฉืœ ืžืกืคืจื™ื ืฉืœืžื™ื, ืื ืฉื™ ืžืงืฆื•ืข ื›ืืœื” ืžืืžื™ื ื™ื ืฉืœื ื ื™ืชืŸ ืœื™ื™ืฉื ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื‘ืฉื•ื ื“ืจืš ืื—ืจืช ืžืืฉืจ ืขืœ ื™ื“ื™ ื”ืขืชืงื” ื”ื“ื‘ืงื” ืคืฉื•ื˜ื” ืขื‘ื•ืจ ื›ืœ ืกื•ื’ ื ืชื•ื ื™ื.

package main

import "fmt"

func int64Sum(list []int64) (uint64) {
    var result int64 = 0
    for x := 0; x < len(list); x++ {
        result += list[x]
    }
    return uint64(result)
}

func int32Sum(list []int32) (uint64) {
    var result int32 = 0
    for x := 0; x < len(list); x++ {
        result += list[x]
    }
    return uint64(result)
}

func main() {

    list32 := []int32{1, 2, 3, 4, 5}
    list64 := []int64{1, 2, 3, 4, 5}

    fmt.Println(int32Sum(list32))
    fmt.Println(int64Sum(list64))
}

ืœืฉืคื” ื™ืฉ ืžืกืคื™ืง ืืžืฆืขื™ื ืœื™ื™ืฉื ืžื‘ื ื™ื ื›ืืœื”. ืœื“ื•ื’ืžื”, ืชื›ื ื•ืช ื’ื ืจื™ ื™ื”ื™ื” ื‘ืกื“ืจ.

package main

import "fmt"

func Eval32(list []int32, fn func(a, b int32)int32) int32 {
    var res int32
    for _, val := range list {
        res = fn(res, val)
    }
    return res
}

func int32Add(a, b int32) int32 {
    return a + b
}

func int32Sub(a, b int32) int32 {
    return a + b
}

func Eval64(list []int64, fn func(a, b int64)int64) int64 {
    var res int64
    for _, val := range list {
        res = fn(res, val)
    }
    return res
}

func int64Add(a, b int64) int64 {
    return a + b
}

func int64Sub(a, b int64) int64 {
    return a - b
}

func main() {

    list32 := []int32{1, 2, 3, 4, 5}
    list64 := []int64{1, 2, 3, 4, 5}

    fmt.Println(Eval32(list32, int32Add))
    fmt.Println(Eval64(list64, int64Add))
    fmt.Println(Eval64(list64, int64Sub))
}

ื•ืœืžืจื•ืช ืฉื”ืชื‘ืจืจ ืฉื”ืงื•ื“ ืฉืœื ื• ืืจื•ืš ื‘ืžืงืฆืช ืžื”ืžืงืจื” ื”ืงื•ื“ื, ื”ื•ื ื”ืคืš ืœื”ื›ืœืœ. ืœื›ืŸ, ืœื ื™ื”ื™ื” ืœื ื• ืงืฉื” ืœื™ื™ืฉื ืืช ื›ืœ ืคืขื•ืœื•ืช ื”ื—ืฉื‘ื•ืŸ.

ืจื‘ื™ื ื™ื’ื™ื“ื• ืฉืชื•ื›ื ื™ืช ื‘-D ื ืจืื™ืช ืงืฆืจื” ืžืฉืžืขื•ืชื™ืช, ื•ื”ื ื™ื”ื™ื• ืฆื•ื“ืงื™ื.

import std.stdio;
import std.algorithm;

void main(string[] args)
{
    [1, 2, 3, 4, 5].reduce!((a, b) => a + b).writeln;
}

ืขื ื–ืืช, ื”ื•ื ืจืง ืงืฆืจ ื™ื•ืชืจ, ืืš ืœื ื ื›ื•ืŸ ื™ื•ืชืจ, ืžื›ื™ื•ื•ืŸ ืฉื”ื™ื™ืฉื•ื ืฉืœ D ืžืชืขืœื ืœื—ืœื•ื˜ื™ืŸ ืžื‘ืขื™ื™ืช ื”ื˜ื™ืคื•ืœ ื‘ืฉื’ื™ืื•ืช.

ื‘ื—ื™ื™ื ื”ืืžื™ืชื™ื™ื, ื›ื›ืœ ืฉืžื•ืจื›ื‘ื•ืช ื”ื”ื™ื’ื™ื•ืŸ ื’ื“ืœื”, ื”ืคืขืจ ืžืฆื˜ืžืฆื ื‘ืžื”ื™ืจื•ืช. ื”ืคืขืจ ื ืกื’ืจ ืืคื™ืœื• ืžื”ืจ ื™ื•ืชืจ ื›ืืฉืจ ืืชื” ืฆืจื™ืš ืœื‘ืฆืข ืคืขื•ืœื” ืฉืœื ื ื™ืชืŸ ืœื‘ืฆืข ื‘ืืžืฆืขื•ืช ืื•ืคืจื˜ื•ืจื™ื ืฉืœ ืฉืคื” ืกื˜ื ื“ืจื˜ื™ืช.

ืžื‘ื—ื™ื ืช ืชื—ื–ื•ืงื”, ื”ืจื—ื‘ื” ื•ืงืจื™ืื•ืช, ืœื“ืขืชื™, ืฉืคืช ื”ื’ื• ืžื ืฆื—ืช, ืœืžืจื•ืช ืฉื”ื™ื ืžืคืกื™ื“ื” ื‘ืžื™ืœื”.

ืชื›ื ื•ืช ื›ืœืœื™ ื‘ื—ืœืง ืžื”ืžืงืจื™ื ื ื•ืชืŸ ืœื ื• ื™ืชืจื•ื ื•ืช ืฉืื™ืŸ ืœื”ื›ื—ื™ืฉื”. ื–ื” ืžื•ืžื—ืฉ ื‘ื‘ื™ืจื•ืจ ืขืœ ื™ื“ื™ ื—ื‘ื™ืœืช ื”ืžื™ื•ืŸ. ืื–, ื›ื“ื™ ืœืžื™ื™ืŸ ื›ืœ ืจืฉื™ืžื”, ืื ื—ื ื• ืจืง ืฆืจื™ื›ื™ื ืœื™ื™ืฉื ืืช ืžืžืฉืง sort.Interface.

import "sort"

type Names []string

func (ns Names) Len() int {
    return len(ns)
}

func (ns Names) Less(i, j int) bool {
    return ns[i] < ns[j]
}

func (ns Names) Swap(i, j int) {
    ns[i], ns[j] = ns[j], ns[i]
}

func main() {
    names := Names{"London", "Berlin", "Rim"}
    sort.Sort(names)
}

ืื ืชื™ืงื— ืคืจื•ื™ืงื˜ ืงื•ื“ ืคืชื•ื— ื›ืœืฉื”ื• ื•ืชืคืขื™ืœ ืืช ื”ืคืงื•ื“ื” grep "interface{}" -R, ืชืจืื” ื‘ืื™ื–ื• ืชื“ื™ืจื•ืช ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžืžืฉืงื™ื ืžื‘ืœื‘ืœื™ื. ื—ื‘ืจื™ื ืงืจื•ื‘ื™ื ื™ื’ื™ื“ื• ืžื™ื“ ืฉื›ืœ ื–ื” ื ื•ื‘ืข ืžื”ื™ืขื“ืจ ื’ื ืจื™ื•ืช. ืขื ื–ืืช, ื–ื” ืœื ืชืžื™ื“ ื”ืžืฆื‘. ื ื™ืงื— ืืช DELPHI ื›ื“ื•ื’ืžื”. ืœืžืจื•ืช ื”ื ื•ื›ื—ื•ืช ืฉืœ ืื•ืชืŸ ื’ื ืจื™ื•ืช, ื”ื•ื ืžื›ื™ืœ ืกื•ื’ VARIANT ืžื™ื•ื—ื“ ืœืคืขื•ืœื•ืช ืขื ืกื•ื’ื™ ื ืชื•ื ื™ื ืฉืจื™ืจื•ืชื™ื™ื. ืฉืคืช Go ืขื•ืฉื” ืืช ืื•ืชื• ื”ื“ื‘ืจ.

ืžืชื•ืชื— ื•ืขื“ ื“ืจื•ืจื™ื

ื•ื”ื—ื•ืœืฆื” ื—ื™ื™ื‘ืช ืœื”ืชืื™ื ืœื’ื•ื“ืœ ื”ื˜ื™ืจื•ืฃ. ืกื˜ื ื™ืกืœื‘ ืœืง.

ืžืขืจื™ืฆื™ื ืงื™ืฆื•ื ื™ื™ื ืจื‘ื™ื ืขืฉื•ื™ื™ื ืœื˜ืขื•ืŸ ืฉืœื’ื• ื™ืฉ ืžื ื’ื ื•ืŸ ื ื•ืกืฃ ืœื™ืฆื™ืจืช ื’ื ืจื™ื•ืช โ€“ ื”ืฉืชืงืคื•ืช. ื•ื”ื ื™ื”ื™ื• ืฆื•ื“ืงื™ื... ืื‘ืœ ืจืง ื‘ืžืงืจื™ื ื ื“ื™ืจื™ื.

ืจื•ื‘ ืคื™ื™ืง ืžื–ื”ื™ืจ ืื•ืชื ื•:

ื–ื”ื• ื›ืœื™ ืจื‘ ืขื•ืฆืžื” ืฉื™ืฉ ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื–ื”ื™ืจื•ืช. ื™ืฉ ืœื”ื™ืžื ืข ืžื›ืš ืืœื ืื ื›ืŸ ื”ื›ืจื—ื™.

ื•ื™ืงื™ืคื“ื™ื” ืžืกืคืจืช ืœื ื• ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื:

ืจืคืœืงืฆื™ื” ืžืชื™ื™ื—ืกืช ืœืชื”ืœื™ืš ืฉื‘ืžื”ืœื›ื• ืชื•ื›ื ื™ืช ื™ื›ื•ืœื” ืœืคืงื— ื•ืœืฉื ื•ืช ืืช ื”ืžื‘ื ื” ื•ื”ื”ืชื ื”ื’ื•ืช ืฉืœื” ื‘ืžื”ืœืš ื”ื‘ื™ืฆื•ืข. ืคืจื“ื™ื’ืžืช ื”ืชื›ื ื•ืช ื”ืขื•ืžื“ืช ื‘ื‘ืกื™ืก ื”ื”ืฉืชืงืคื•ืช ื ืงืจืืช ืชื›ื ื•ืช ืจืคืœืงื˜ื™ื‘ื™. ื–ื”ื• ืกื•ื’ ืฉืœ ืžื˜ื-ืชื›ื ื•ืช.

ืขื ื–ืืช, ื›ืคื™ ืฉืืชื” ื™ื•ื“ืข, ืืชื” ืฆืจื™ืš ืœืฉืœื ืขืœ ื”ื›ืœ. ื‘ืžืงืจื” ื”ื–ื” ื–ื”:

  • ืงื•ืฉื™ ื‘ื›ืชื™ื‘ืช ืชื•ื›ื ื™ื•ืช
  • ืžื”ื™ืจื•ืช ื‘ื™ืฆื•ืข ื”ืชื•ื›ื ื™ืช

ืœื›ืŸ, ื™ืฉ ืœื”ืฉืชืžืฉ ื‘ื”ืฉืชืงืคื•ืช ื‘ื–ื”ื™ืจื•ืช, ื›ืžื• ื ืฉืง ื‘ืขืœ ืงืœื™ื‘ืจ ื’ื“ื•ืœ. ืฉื™ืžื•ืฉ ื—ืกืจ ืžื—ืฉื‘ื” ื‘ื”ืฉืชืงืคื•ืช ืžื•ื‘ื™ืœ ืœืชื•ื›ื ื™ื•ืช ื‘ืœืชื™ ืงืจื™ืื•ืช, ืฉื’ื™ืื•ืช ืงื‘ื•ืขื•ืช ื•ืžื”ื™ืจื•ืช ื ืžื•ื›ื”. ื‘ื“ื™ื•ืง ื”ืขื ื™ื™ืŸ ืฉืžืชื›ื ืช ืกื ื•ื‘ ื™ื•ื›ืœ ืœื”ืฉื•ื•ื™ืฅ ื‘ืงื•ื“ ืฉืœื• ืžื•ืœ ืขืžื™ืชื™ื ืื—ืจื™ื, ืคืจื’ืžื˜ื™ื™ื ื•ืฆื ื•ืขื™ื ื™ื•ืชืจ.

ืžื˜ืขืŸ ืชืจื‘ื•ืชื™ ืžืฉื™? ืœื, ืžืžืกืคืจ ืฉืคื•ืช!

ืœืฆื“ ื”ื”ื•ืŸ ื ื•ืชืจื™ื ื’ื ื—ื•ื‘ื•ืช ืœื™ื•ืจืฉื™ื.

ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉืจื‘ื™ื ืžืืžื™ื ื™ื ืฉื”ืฉืคื” ืžื‘ื•ืกืกืช ื›ื•ืœื” ืขืœ ืžื•ืจืฉืช C, ืื™ืŸ ื–ื” ื›ืš. ื”ืฉืคื” ืžืฉืœื‘ืช ื”ื™ื‘ื˜ื™ื ืจื‘ื™ื ืฉืœ ืฉืคื•ืช ื”ืชื›ื ื•ืช ื”ื˜ื•ื‘ื•ืช ื‘ื™ื•ืชืจ.

ืชื—ื‘ื™ืจ

ืงื•ื“ื ื›ืœ, ื”ืชื—ื‘ื™ืจ ืฉืœ ืžื‘ื ื™ื ื“ืงื“ื•ืงื™ื™ื ืžื‘ื•ืกืก ืขืœ ื”ืชื—ื‘ื™ืจ ืฉืœ ืฉืคืช C. ืขื ื–ืืช, ื’ื ืœืฉืคืช DELPHI ื”ื™ื™ืชื” ื”ืฉืคืขื” ืžืฉืžืขื•ืชื™ืช. ืœืคื™ื›ืš, ืื ื• ืจื•ืื™ื ืฉื”ืกื•ื’ืจื™ื™ื ื”ืžื™ื•ืชืจื™ื, ื”ืžืคื—ื™ืชื™ื ืžืื•ื“ ืืช ืงืจื™ืื•ืช ื”ืชื•ื›ื ื™ืช, ื”ื•ืกืจื• ืœื—ืœื•ื˜ื™ืŸ. ื”ืฉืคื” ืžื›ื™ืœื” ื’ื ืืช ื”ืื•ืคืจื˜ื•ืจ ":=" ื”ื˜ื‘ื•ืข ื‘ืฉืคืช DELPHI. ื”ืจืขื™ื•ืŸ ืฉืœ ื—ื‘ื™ืœื•ืช ืžื•ืฉืืœ ืžืฉืคื•ืช ื›ืžื• ADA. ื”ื”ืฆื”ืจื” ืขืœ ื™ืฉื•ื™ื•ืช ืฉืื™ื ืŸ ื‘ืฉื™ืžื•ืฉ ืฉืื•ืœื” ืžืฉืคืช PROLOG.

ืกึตืžึทื ื˜ึดื™ืงึธื”

ื”ื—ื‘ื™ืœื•ืช ื”ืชื‘ืกืกื• ืขืœ ื”ืกืžื ื˜ื™ืงื” ืฉืœ ืฉืคืช DELPHI. ื›ืœ ื—ื‘ื™ืœื” ืžื›ื™ืœื” ื ืชื•ื ื™ื ื•ืงื•ื“ ื•ืžื›ื™ืœื” ื™ืฉื•ื™ื•ืช ืคืจื˜ื™ื•ืช ื•ืฆื™ื‘ื•ืจื™ื•ืช. ื–ื” ืžืืคืฉืจ ืœืš ืœืฆืžืฆื ืืช ืžืžืฉืง ื”ื—ื‘ื™ืœื” ืœืžื™ื ื™ืžื•ื.

ืคืขื•ืœืช ื”ื™ื™ืฉื•ื ืœืคื™ ื”ืืฆืœื” ื”ื•ืฉืืœื” ืžืฉืคืช DELPHI.

ืงื•ืžืคื™ืœืฆื™ื”

ืœื ื‘ื›ื“ื™ ื™ืฉ ื‘ื“ื™ื—ื”: Go ืคื•ืชื—ื” ืชื•ืš ื›ื“ื™ ื”ื™ื“ื•ืจ ืฉืœ ืชื•ื›ื ื™ืช C. ืื—ืช ื”ื™ืชืจื•ื ื•ืช ืฉืœ ื”ืฉืคื” ื”ื™ื ื”ืงื•ืžืคื™ืœืฆื™ื” ื”ืžื”ื™ืจื” ื‘ืžื™ื•ื—ื“ ืฉืœื”. ื”ืจืขื™ื•ืŸ ื”ื•ืฉืืœ ืžืฉืคืช DELPHI. ื›ืœ ื—ื‘ื™ืœืช Go ืžืชืื™ืžื” ืœืžื•ื“ื•ืœ DELPHI. ื—ื‘ื™ืœื•ืช ืืœื• ื ืขืจื›ื™ื ืžื—ื“ืฉ ืจืง ื›ืืฉืจ ื‘ืืžืช ื™ืฉ ืฆื•ืจืš ื‘ื›ืš. ืœื›ืŸ, ืœืื—ืจ ื”ืขืจื™ื›ื” ื”ื‘ืื”, ืื™ืŸ ืฆื•ืจืš ืœื”ื“ืจ ืืช ื›ืœ ื”ืชื•ื›ื ื™ืช, ืืœื ืœื”ื“ืจ ืžื—ื“ืฉ ืจืง ืืช ื”ื—ื‘ื™ืœื•ืช ื•ื”ื—ื‘ื™ืœื•ืช ืฉื”ืฉืชื ื• ื”ืชืœื•ื™ื•ืช ื‘ื—ื‘ื™ืœื•ืช ืฉื”ืฉืชื ื• ืืœื• (ื•ื’ื ืื– ืจืง ืื ืžืžืฉืงื™ ื”ื—ื‘ื™ืœื•ืช ื”ืฉืชื ื•).

ืžื‘ื ื™ื ื‘ืจืžื” ื’ื‘ื•ื”ื”

ื”ืฉืคื” ืžื›ื™ืœื” ืžื‘ื ื™ื ืจื‘ื™ื ื•ืฉื•ื ื™ื ื‘ืจืžื” ื’ื‘ื•ื”ื” ืฉืื™ื ื ืงืฉื•ืจื™ื ื‘ืฉื•ื ืื•ืคืŸ ืœืฉืคื•ืช ื‘ืจืžื” ื ืžื•ื›ื” ื›ืžื• C.

  • ืžื—ืจื•ื–ื•ืช
  • ื˜ื‘ืœืื•ืช ื—ืฉื™ืฉ
  • ืคืจื•ืกื•ืช
  • ื”ืงืœื“ืช ื‘ืจื•ื•ื– ืžื•ืฉืืœืช ืžืฉืคื•ืช ื›ืžื• RUBY (ืฉืœืžืจื‘ื” ื”ืฆืขืจ, ืจื‘ื™ื ืื™ื ื ืžื‘ื™ื ื™ื ืื• ืžื ืฆืœื™ื ืืช ืžืœื•ื ื”ืคื•ื˜ื ืฆื™ืืœ ืฉืœื”).

ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ

ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ื‘ื“ืจืš ื›ืœืœ ืจืื•ื™ ืœืžืืžืจ ื ืคืจื“. ืื ื‘ืฉืคื•ืช ื›ืžื• C++, ื”ืฉืœื™ื˜ื” ื ืฉืืจืช ืœื—ืœื•ื˜ื™ืŸ ืœืžืคืชื—, ืื– ื‘ืฉืคื•ืช ืžืื•ื—ืจื•ืช ื™ื•ืชืจ ื›ืžื• DELPHI, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ืกืคื™ืจืช ื”ืคื ื™ื•ืช. ืขื ื’ื™ืฉื” ื–ื•, ื”ืคื ื™ื•ืช ืžื—ื–ื•ืจื™ื•ืช ืœื ื”ื™ื• ืžื•ืชืจื•ืช, ืžื›ื™ื•ื•ืŸ ืฉื ื•ืฆืจื• ืืฉื›ื•ืœื•ืช ื™ืชื•ืžื™ื, ืื– ืœ-Go ื™ืฉ ื–ื™ื”ื•ื™ ืžื•ื‘ื ื” ืฉืœ ืืฉื›ื•ืœื•ืช ื›ืืœื” (ื›ืžื• C#). ื‘ื ื•ืกืฃ, ืื•ืกืฃ ื”ืืฉืคื” ื™ืขื™ืœ ื™ื•ืชืจ ืžืจื•ื‘ ื”ื”ื˜ืžืขื•ืช ื”ืžื•ื›ืจื•ืช ื›ื™ื•ื ื•ื›ื‘ืจ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœืžืฉื™ืžื•ืช ืจื‘ื•ืช ื‘ื–ืžืŸ ืืžืช. ื”ืฉืคื” ืขืฆืžื” ืžื–ื”ื” ืžืฆื‘ื™ื ืฉื‘ื”ื ื ื™ืชืŸ ืœื”ืงืฆื•ืช ืขืจืš ืœืื—ืกื•ืŸ ืžืฉืชื ื” ื‘ืขืจื™ืžื”. ื–ื” ืžืคื—ื™ืช ืืช ื”ืขื•ืžืก ืขืœ ืžื ื”ืœ ื”ื–ื™ื›ืจื•ืŸ ื•ืžื’ื‘ื™ืจ ืืช ืžื”ื™ืจื•ืช ื”ืชื•ื›ื ื™ืช.

ื‘ืžืงื‘ื™ืœ ื•ื‘ืžืงื‘ื™ืœ

ื”ื”ืงื‘ืœื” ื•ื”ืชื—ืจื•ืชื™ื•ืช ืฉืœ ื”ืฉืคื” ื”ื™ื ืžืขื‘ืจ ืœืฉื‘ื—. ืื™ืŸ ืฉืคื” ื‘ืจืžื” ื ืžื•ื›ื” ืฉื™ื›ื•ืœื” ืœื”ืชื—ืจื•ืช ืืคื™ืœื• ืžืจื—ื•ืง ื‘-Go. ืœืžืขืŸ ื”ื”ื’ื™ื ื•ืช, ืจืื•ื™ ืœืฆื™ื™ืŸ ืฉื”ื“ื’ื ืœื ื”ื•ืžืฆื ืขืœ ื™ื“ื™ ืžื—ื‘ืจื™ ื”ืฉืคื”, ืืœื ืคืฉื•ื˜ ื”ื•ืฉืืœ ืžืฉืคืช ื”-ADA ื”ื™ืฉื ื” ื•ื”ื˜ื•ื‘ื”. ื”ืฉืคื” ืžืกื•ื’ืœืช ืœืขื‘ื“ ืžื™ืœื™ื•ื ื™ ื—ื™ื‘ื•ืจื™ื ืžืงื‘ื™ืœื™ื ืชื•ืš ืฉื™ืžื•ืฉ ื‘ื›ืœ ื”ืžืขื‘ื“ื™ื, ืชื•ืš ื›ื“ื™ ื‘ืขื™ื•ืช ืžื•ืจื›ื‘ื•ืช ืคื—ื•ืช ื‘ืกื“ืจ ื’ื•ื“ืœ ืขื ืžื‘ื•ื™ ืกืชื•ื ื•ืชื ืื™ ืžื™ืจื•ืฅ ื”ืื•ืคื™ื™ื ื™ื™ื ืœืงื•ื“ ืžืจื•ื‘ื”-ืคืชื™ืœ.

ื”ื˜ื‘ื•ืช ื ื•ืกืคื•ืช

ืื ื–ื” ืจื•ื•ื—ื™, ื›ื•ืœื ื™ื”ืคื›ื• ืœื”ื™ื•ืช ื—ืกืจื™ ืื ื•ื›ื™ื•ืช.

ื”ืฉืคื” ื’ื ืžืกืคืงืช ืœื ื• ืžืกืคืจ ื™ืชืจื•ื ื•ืช ืœืœื ืกืคืง:

  • ืงื•ื‘ืฅ ื”ืคืขืœื” ื‘ื•ื“ื“ ืœืื—ืจ ื‘ื ื™ื™ืช ื”ืคืจื•ื™ืงื˜ ืžืคืฉื˜ ืžืื•ื“ ืืช ืคืจื™ืกืช ื”ืืคืœื™ืงืฆื™ื•ืช.
  • ื”ืงืœื“ื” ืกื˜ื˜ื™ืช ื•ื”ืกืงืช ืกื•ื’ ื™ื›ื•ืœื™ื ืœื”ืคื—ื™ืช ื‘ืื•ืคืŸ ืžืฉืžืขื•ืชื™ ืืช ืžืกืคืจ ื”ืฉื’ื™ืื•ืช ื‘ืงื•ื“ ืฉืœืš, ืืคื™ืœื• ืœืœื ื›ืชื™ื‘ืช ืžื‘ื—ื ื™ื. ืื ื™ ืžื›ื™ืจ ื›ืžื” ืžืชื›ื ืชื™ื ืฉืขื•ืฉื™ื ื‘ืœื™ ืœื›ืชื•ื‘ ืžื‘ื—ื ื™ื ื‘ื›ืœืœ ื•ืื™ื›ื•ืช ื”ืงื•ื“ ืฉืœื”ื ืœื ื ืคื’ืขืช ืžืฉืžืขื•ืชื™ืช.
  • ืงื•ืžืคื™ืœืฆื™ื” ืฆื•ืœื‘ืช ืคืฉื•ื˜ื” ืžืื•ื“ ื•ื ื™ื™ื“ื•ืช ืžืขื•ืœื” ืฉืœ ื”ืกืคืจื™ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช, ืžื” ืฉืžืงืœ ืžืื•ื“ ืขืœ ืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ื—ื•ืฆื•ืช ืคืœื˜ืคื•ืจืžื•ืช.
  • ื‘ื™ื˜ื•ื™ื™ื ืจื’ื•ืœืจื™ื™ื ืฉืœ RE2 ื”ื ื‘ื˜ื•ื—ื™ื ืœืฉืจืฉื•ืจ ื•ื™ืฉ ืœื”ื ื–ืžื ื™ ื‘ื™ืฆื•ืข ืฆืคื•ื™ื™ื.
  • ืกืคืจื™ื™ื” ืกื˜ื ื“ืจื˜ื™ืช ืจื‘ืช ืขื•ืฆืžื” ื”ืžืืคืฉืจืช ืœืจื•ื‘ ื”ืคืจื•ื™ืงื˜ื™ื ืœื”ืกืชื“ืจ ืœืœื ืžืกื’ืจื•ืช ืฉืœ ืฆื“ ืฉืœื™ืฉื™.
  • ื”ืฉืคื” ื—ื–ืงื” ืžืกืคื™ืง ื›ื“ื™ ืœื”ืชืžืงื“ ื‘ื‘ืขื™ื” ื•ืœื ืื™ืš ืœืคืชื•ืจ ืื•ืชื”, ืืš ื‘ืจืžื” ื ืžื•ื›ื” ืžืกืคื™ืง ื›ื“ื™ ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœืคืชื•ืจ ืืช ื”ื‘ืขื™ื” ื‘ื™ืขื™ืœื•ืช.
  • ืžืขืจื›ืช ื”-Go eco ื›ื‘ืจ ืžื›ื™ืœื” ื›ืœื™ื ืฉืคื•ืชื—ื• ืžื—ื•ืฅ ืœืงื•ืคืกื” ืœื›ืœ ืื™ืจื•ืข: ื‘ื“ื™ืงื•ืช, ืชื™ืขื•ื“, ื ื™ื”ื•ืœ ื—ื‘ื™ืœื•ืช, linters ืขื•ืฆืžืชื™ื™ื, ื™ืฆื™ืจืช ืงื•ื“, ื’ืœืื™ ืชื ืื™ ืžืจื•ืฅ ื•ื›ื•'.
  • Go ื’ืจืกื” 1.11 ื”ืฆื™ื’ื” ื ื™ื”ื•ืœ ืชืœื•ืช ืกืžื ื˜ื™ ืžื•ื‘ื ื”, ืฉื ื‘ื ื” ืขืœ ื’ื‘ื™ ืื™ืจื•ื— VCS ืคื•ืคื•ืœืจื™. ื›ืœ ื”ื›ืœื™ื ื”ืžืจื›ื™ื‘ื™ื ืืช ืžืขืจื›ืช ื”ืืงื•ืœื•ื’ื™ืช ืฉืœ Go ืžืฉืชืžืฉื™ื ื‘ืฉื™ืจื•ืชื™ื ื”ืืœื” ื›ื“ื™ ืœื”ื•ืจื™ื“, ืœื‘ื ื•ืช ื•ืœื”ืชืงื™ืŸ ืžื”ื ืงื•ื“ ื‘ืžื›ื” ืื—ืช. ื•ื–ื” ื ื”ื“ืจ. ืขื ื”ื’ืขืช ื’ืจืกื” 1.11, ื’ื ื”ื‘ืขื™ื” ื‘ื’ื™ืจืกืื•ืช ื”ื—ื‘ื™ืœื” ื ืคืชืจื” ืœื—ืœื•ื˜ื™ืŸ.
  • ืžื›ื™ื•ื•ืŸ ืฉืจืขื™ื•ืŸ ื”ืœื™ื‘ื” ืฉืœ ื”ืฉืคื” ื”ื•ื ืœื”ืคื—ื™ืช ืืช ื”ืงืกื, ื”ืฉืคื” ืžืขื•ื“ื“ืช ืžืคืชื—ื™ื ืœื˜ืคืœ ื‘ืฉื’ื™ืื•ืช ื‘ืื•ืคืŸ ืžืคื•ืจืฉ. ื•ื–ื” ื ื›ื•ืŸ, ื›ื™ ืื—ืจืช, ื”ื•ื ืคืฉื•ื˜ ื™ืฉื›ื— ืœื’ืžืจื™ ืžื”ื˜ื™ืคื•ืœ ื‘ืฉื’ื™ืื•ืช. ื“ื‘ืจ ื ื•ืกืฃ ื”ื•ื ืฉืจื•ื‘ ื”ืžืคืชื—ื™ื ืžืชืขืœืžื™ื ื‘ื›ื•ื•ื ื” ืžื˜ื™ืคื•ืœ ื‘ืฉื’ื™ืื•ืช, ื•ืžืขื“ื™ืคื™ื ื‘ืžืงื•ื ืœืขื‘ื“ ืื•ืชืŸ ืคืฉื•ื˜ ืœื”ืขื‘ื™ืจ ืืช ื”ืฉื’ื™ืื” ื›ืœืคื™ ืžืขืœื”.
  • ื”ืฉืคื” ืื™ื ื” ืžื™ื™ืฉืžืช ืืช ืžืชื•ื“ื•ืœื•ื’ื™ื™ืช OOP ื”ืงืœืืกื™ืช, ืฉื›ืŸ ื‘ืฆื•ืจืชื” ื”ื˜ื”ื•ืจื” ืื™ืŸ ื•ื™ืจื˜ื•ืืœื™ื•ืช ื‘-Go. ืขื ื–ืืช, ื–ื• ืื™ื ื” ื‘ืขื™ื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžืžืฉืงื™ื. ื”ื™ืขื“ืจ OOP ืžืงื˜ื™ืŸ ืžืฉืžืขื•ืชื™ืช ืืช ืžื—ืกื•ื ื”ื›ื ื™ืกื” ืœืžืชื—ื™ืœื™ื.

ืคืฉื˜ื•ืช ืœื˜ื•ื‘ืช ื”ืงื”ื™ืœื”

ืงืœ ืœืกื‘ืš, ืงืฉื” ืœืคืฉื˜.

Go ืชื•ื›ื ื ื” ืœื”ื™ื•ืช ืคืฉื•ื˜ื” ื•ื”ื™ื ืžืฆืœื™ื—ื” ื‘ืžื˜ืจื” ื–ื•. ื”ื•ื ื ื›ืชื‘ ืขื‘ื•ืจ ืžืชื›ื ืชื™ื ื—ื›ืžื™ื ืฉืžื‘ื™ื ื™ื ืืช ื”ื™ืชืจื•ื ื•ืช ืฉืœ ืขื‘ื•ื“ืช ืฆื•ื•ืช ื•ื ืžืืก ืœื”ื ืžื”ืฉื•ื ื•ืช ื”ืื™ื ืกื•ืคื™ืช ืฉืœ ืฉืคื•ืช ื‘ืจืžืช ื”ืืจื’ื•ืŸ. ืขื ืžืขืจืš ืงื˜ืŸ ื™ื—ืกื™ืช ืฉืœ ืžื‘ื ื™ื ืชื—ื‘ื™ืจื™ื™ื ื‘ืืจืกื ืœ ืฉืœื•, ื”ื•ื ื›ืžืขื˜ ื•ืื™ื ื• ื ืชื•ืŸ ืœืฉื™ื ื•ื™ื™ื ืœืื•ืจืš ื–ืžืŸ, ื›ืš ืฉืœืžืคืชื—ื™ื ื™ืฉ ื”ืจื‘ื” ื–ืžืŸ ืœื”ืชืคื ื•ืช ืœืคื™ืชื•ื—, ื•ืœื ืœืœื™ืžื•ื“ ืื™ื ืกื•ืคื™ ืฉืœ ื—ื™ื“ื•ืฉื™ ืฉืคื”.

ื—ื‘ืจื•ืช ื–ื•ื›ื•ืช ื’ื ืœืžืกืคืจ ื™ืชืจื•ื ื•ืช: ืžื—ืกื•ื ื›ื ื™ืกื” ื ืžื•ืš ืžืืคืฉืจ ืœื”ืŸ ืœืžืฆื•ื ื‘ืžื”ื™ืจื•ืช ืžื•ืžื—ื”, ื•ื—ื•ืกืจ ื”ืฉื™ื ื•ื™ ืฉืœ ื”ืฉืคื” ืžืืคืฉืจ ืœื”ืŸ ืœื”ืฉืชืžืฉ ื‘ืื•ืชื• ืงื•ื“ ื’ื ืœืื—ืจ 10 ืฉื ื™ื.

ืžืกืงื ื”

ื’ื•ื“ืœ ืžื•ื— ื’ื“ื•ืœ ืžืขื•ืœื ืœื ื”ืคืš ืืฃ ืคื™ืœ ืœื–ื•ื›ื” ืคืจืก ื ื•ื‘ืœ.

ืœืื•ืชื ืžืชื›ื ืชื™ื ืฉื”ืื’ื• ื”ืื™ืฉื™ ืฉืœื”ื ืขื“ื™ืคื•ืช ืขืœ ืจื•ื— ื”ืฆื•ื•ืช, ื›ืžื• ื’ื ืชื™ืื•ืจื˜ื™ืงื ื™ื ืฉืื•ื”ื‘ื™ื ืืชื’ืจื™ื ืืงื“ืžื™ื™ื ื•"ืฉื™ืคื•ืจ ืขืฆืžื™" ืื™ื ืกื•ืคื™, ื”ืฉืคื” ืžืžืฉ ื’ืจื•ืขื”, ืฉื›ืŸ ืžื“ื•ื‘ืจ ื‘ืฉืคื” ืื•ืžื ื•ืชื™ืช ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช ืฉืื™ื ื” ืžืืคืฉืจืช ืœืงื‘ืœ ืชืขื ื•ื’ ืืกืชื˜ื™ ืžืชื•ืฆืืช ื”ืขื‘ื•ื“ื” ืฉืœืš ื•ื”ืจืื” ืืช ืขืฆืžืš ืžืงืฆื•ืขื™ ืžื•ืœ ืขืžื™ืชื™ื (ื‘ืชื ืื™ ืฉืื ื• ืžื•ื“ื“ื™ื ืื™ื ื˜ืœื™ื’ื ืฆื™ื” ืœืคื™ ืงืจื™ื˜ืจื™ื•ื ื™ื ืืœื•, ื•ืœื ืœืคื™ IQ). ื›ืžื• ื›ืœ ื“ื‘ืจ ื‘ื—ื™ื™ื, ื–ื” ืขื ื™ื™ืŸ ืฉืœ ืกื“ืจื™ ืขื“ื™ืคื•ื™ื•ืช ืื™ืฉื™ื™ื. ื›ืžื• ื›ืœ ื”ื—ื™ื“ื•ืฉื™ื ื”ืจืื•ื™ื™ื, ื”ืฉืคื” ื›ื‘ืจ ืขื‘ืจื” ื“ืจืš ืืจื•ื›ื” ืžื”ื›ื—ืฉื” ืื•ื ื™ื‘ืจืกืœื™ืช ืœืงื‘ืœื” ื”ืžื•ื ื™ืช. ื”ืฉืคื” ื’ืื•ื ื™ืช ื‘ืคืฉื˜ื•ืชื”, ื•ื›ื™ื“ื•ืข, ื”ื›ืœ ื’ืื•ื ื™ ืคืฉื•ื˜!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”