Помогите с передачей параметров в функцию.
От: Trener2022  
Дата: 14.06.22 16:20
Оценка:
Пытаюсь в функции поменять параметры с использованием указателей

package main
 
import (
    "fmt"
    "net/http"
)
 
type TestStruct struct {
    Number int
}
 
func myinit(resp *http.Response, teststruct *TestStruct) {
 
    webPage := "https://ya.ru"
    resp, _ = http.Get(webPage)
    fmt.Printf("resp.StatusCode = %v\n", resp.StatusCode)
 
    teststruct.Number = 100
}
 
func main() {
    var teststruct TestStruct
    teststruct.Number = 10
    fmt.Printf("teststruct.Number = %v\n", teststruct.Number)
 
    var resp http.Response
    resp.StatusCode = 400
    fmt.Printf("resp.StatusCode = %v\n", resp.StatusCode)
 
    myinit(&resp, &teststruct)
 
    fmt.Printf("teststruct.Number = %v\n", teststruct.Number)
    fmt.Printf("resp.StatusCode = %v\n", resp.StatusCode)
}


Вывод работы

teststruct.Number = 10
resp.StatusCode = 400
resp.StatusCode = 200
teststruct.Number = 100
resp.StatusCode = 400

То есть
teststruct.Number нормально поменялось внутри функции myinit и в main после работы функции имеет значение 100
resp.StatusCode внутри функции приняло значение 200 а после выхода в main опять получило значение 400
Хотя обе переменные передавались через указатели.

В чем проблема?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.