9 Окт


2018

Golang. Особенности. Синтаксис. Фичи.

Некоторые особенности фичи и нюансы языка GO которые мне показались интересными. Пишу я на нем не так часто, в основном для себя, как следсвие пишу неочень часто. К сожалению GO молод, и синтаксического сахара в нем не так много (возможно к счастью?). Однако то что есть не всегда очевидно, и зачастую забывается.

1 Конкатенация массивов.

Просто взять и сложить, либо сделать append не выйдет. Для начала нужно преобразовать массивы в срез(slice) затем сделать append и поместить в новый массив с новой размерностью.

package main

import (
	"fmt"
)


func main() {
	s1 := [3]string{"Это", "тестовая", "строка"}
	s2 := [3]string{"для", "сложения", "массиввов"}
	var res [6]string
	copy(res[:], append(s1[:], s2[:]...))
	fmt.Println(res)
}

Запустить

2 Работа со слайсами. Удаление крайних элементов среза и строк.

package main

import (
	"fmt"
)

func main() {
	a := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
	fmt.Println(a[1:len(a) - 1])
	b := "Hello world"
	fmt.Println(b[1:len(b) - 1])
}

Запустить

 

фичи