Публикации по теме 'go'
Руководство по сортировке в Go
В этом посте мы рассмотрим различные способы сортировки фрагмента с помощью пакета sort из стандартной библиотеки Go.
Сортировка по возрастанию
Чтобы отсортировать фрагмент в порядке возрастания, мы можем использовать Ints(x) , Float64(x) и Strings(x) из пакета sort .
Примеры:
Сортировка int
nums := []int{3, 7, 8, 1, 5, 4}
sort.Ints(nums)
fmt.Println(nums) // prints [1 3 4 5 7 8]
Сортировка float64
floats := []float64{3.2, 7.1, 7.9, 1.1, 5.2, 3.9}..
Что мне не нравится в Go
Что мне не нравится в Go
Как человек, который любит Go
Я люблю Го. С первого дня, когда я начал использовать язык, я быстро влюбился в него. Он обеспечивает невероятную простоту, сохраняя при этом исключительную безопасность типов и молниеносную компиляцию. Скорость выполнения великолепна, параллелизм является первоклассным гражданином (и это преуменьшение), стандартная библиотека имеет ряд высокоуровневых интерфейсов, которые могут запустить любое приложение с очень небольшим..
Поддерживает ли Go вызов по значению или вызов по ссылке?
Вызов по значению и вызов по ссылке — это два разных способа передачи аргументов функции.
Вызов по значению
Давайте разберемся, что такое вызов по значению.
При вызове по значению значение аргумента копируется в параметр функции. Это означает, что любые изменения параметра внутри функции не влияют на исходное значение аргумента вне функции. Исходное значение аргумента защищено, и функция работает только с копией значения.
func callByValue(a, b int) (int, int) {
temp :=..
Это то, для чего Microsoft использует Go (Golang).
Добро пожаловать обратно! Go (или Golang) - довольно популярный язык программирования, который, кажется, растет с каждым днем, поэтому давайте посмотрим, как Microsoft использует этот довольно новый язык программирования. Интересный факт, о котором вы, возможно, не знаете, именно Google разработал этот язык. Я узнал эту информацию, перейдя на страницу карьеры Microsoft, просмотрев соответствующие должности и отмечая проекты, для которых Microsoft использовала Go:
Давайте..
Вопросы по теме 'go'
Чтение из URL-ресурса в Go
Как мы читаем из URL-адреса ресурса. Я использовал API https://github.com/Kissaki/rest.go в следующих пример. Ниже приведен пример, который я использую для записи строки в URL-адрес http://localhost:8080/cool . Но теперь я нужно получить данные...
6208 просмотров
schedule
10.11.2023
Что это за объявление переменной с подчеркиванием, встроенным интерфейсом и назначением?
Что делает этот фрагмент кода Go?
var _ interface {
add(string) error
} = &watcher{}
Я считаю, что &watcher{} возвращает две вещи, первая отбрасывается, а вторая назначается ... интерфейсу? Я нашел код в fswatch на Github.
310 просмотров
schedule
10.01.2024
Передача структуры с анонимным полем в Go
Иди сюда новичок. У меня есть две структуры, Parent и Child. Child содержит Parent как анонимное поле. Я хочу знать, как я могу передать эту структуру функции, которая ожидает Parent (и ничего не знает о Child). Вот код, иллюстрирующий то, что я...
213 просмотров
schedule
14.11.2023
Go: несколько вызовов len() против производительности?
На данный момент я реализую некоторые алгоритмы сортировки. Поскольку это характерно для алгоритмов, существует множество вызовов длины некоторых массивов/срезов с использованием метода len() .
Теперь, учитывая следующий код для (части) алгоритма...
6754 просмотров
schedule
10.01.2024
Голанг: Как использовать syscall.Syscall в Linux?
Есть очень хорошее описание загрузки общей библиотеки и вызова функции с помощью пакета syscall в Windows ( https://github.com/golang/go/wiki/WindowsDLLs ). Однако функции LoadLibrary и GetProcAddress , которые используются в этом описании,...
11766 просмотров
schedule
11.12.2023
Может ли добавление переменных параметров к функции нарушить существующий код?
Является ли добавление вариационного параметра к существующей функции Go критическим изменением?
Например:
// Old function
func Foo(a int)
// Updated to:
func Foo(a int, params ...string)
Вызывающие API могут опустить новый параметр,...
168 просмотров
schedule
21.10.2023
Почему адрес элемента в срезе одинаков? а как их скопировать в указатель?
У меня есть кусок кода:
//initialize a slice
arr := make([]int, 0)
arr = append(arr, 1, 2)
for _, k := range arr {
fmt.Printf("%p %+v\n", &k, k)
}
//make a copy, but the element is a pointer
arrP :=...
78 просмотров
schedule
06.01.2024
Где проверяется секретный ключ JWT при разборе токена jwt?
Я читаю папку с примерами для JWT, я немного не уверен, как работает проверка токена.
func ExampleNewWithClaims_customClaimsType() {
mySigningKey := []byte("AllYourBase")
type MyCustomClaims struct {
Foo string `json:"foo"`...
283 просмотров
schedule
06.12.2023
Создайте систему для динамической загрузки и выгрузки общих объектов в виде плагинов.
Я хочу узнать, как заставить основное приложение загружать расширения или плагины для улучшения функциональности указанного приложения. основываясь на моем знании других языков, я представил, как это будет выглядеть.
во-первых, иметь интерфейс в...
66 просмотров
schedule
06.01.2024
Элегантный способ обработки горутины в состоянии ожидания ввода-вывода в GRPC
Наш сервер (grpc-gateway + grpc) работает на K8S с go 1.13 и завершает информацию о стеке.
Last State: Terminated
Reason: Error
Message: o.(*Reader).fill(0xc002ec78c0)...
141 просмотров
schedule
15.01.2024