golang book 7

если использовать папки, то go install src/hw , в котором есть main.go сохраняет всё в каталог bin GOPATH переменная, путь рабочей области для смены export GOPATH="/code" set GOPATH = "C:/code" эта переменная каждый раз сбрасывается если пакет с гита, то его лучше размещать в src/github.com/user1/keyboard есть быстрая установка с гита go get github.com/user1/keyboard так же можно посмотреть документацию по пакету go doc strconv go doc strconv ParseFloat для добавления своей докумментации // program package p1 // ttt // yyy func ddd() но документация для пакетов должна начинаться со слов Package имя пакета и продолжение комменты для функций должны начинаться с имени функции много документаций на golang.org можно запустить свой сайт с документацией godoc -http=:6060 http://localhost:6060/pkg/ для остановки ctrl c тут будет всё, что установили на ваш комп массивы var myArray [4]string myArray[0] = "do" fmt.Println(myArray[0]) var arr [3]int var arr [5]time.Time что с незаполненн элементами массива, они пустые, либо 0, как и при создании переменных создать и сразу присвоить значения var notes [7]string = [7]string{"do", "re", "mi", "fa", "so", "la", "ti"} notes := [7]string{"do", "re", "mi", "fa", "so", "la", "ti"} text := [3]string{ "This is a series of long strings", "which would be awkward to place", "together on a single line", } с запятой, после последнего, тоже можно через fmt.Println сразу можно выводить массив чтоб отобразить массив через глагол, то %#v fmt.Printf("%#v\n", notes) вывести длину массива fmt.Println(len(notes)) вот безопасный перебор массива for index, value := range myArray { // Блок цикла. } если вам не нужен индекс, то кладем его в мусор переменной _ for _, note := range notes { fmt.Println(note) } превратить инт во float weight := float64(index+1) повар закупает мясо package main import ( "fmt" ) func main() { list := [3]float64{71.8, 56.2, 89.5} var quantity float64 var result float64 for index, number := range list { weight := float64(index+1) quantity += weight result += number * weight fmt.Printf("%f * %f = %f , result = %f\n", number, weight,> } result /= quantity fmt.Println(result) } go install github.com/headfirstgo/average прочитать с файла данные package main import ( "bufio" "fmt" "log" "os" ) func main() { file, err := os.Open("data.txt") if err != nil { log.Fatal(err) } scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) } err = file.Close() if err != nil { log.Fatal(err) } if scanner.Err() != nil { log.Fatal(scanner.Err()) } }