Как я могу получить доступ к переменной, когда я передал свои модели на аутсорсинг в собственном пакете

#go

#Вперед

Вопрос:

Привет, ребята, и заранее спасибо за вашу помощь! 🙂

Я пытаюсь изучить Go и хочу спросить, как я могу получить доступ к переменной, определенной в структуре в собственном классе. Как вы создаете свои модели в go? Я действительно хочу поместить модели в собственный класс.

Когда я делаю это, я не могу получить доступ к переменным моей структуры Student .

 package main

import (
    "fmt"
    "github.com/nikolastankovic/hello/models"
)

func main() {
    var nikola models.Student
    nikola.name = "nikola" // THIS DOESN'T WORK :(
    fmt.Println(nikola)
}
  

Модель ученика в моделях подпакетов:

 package models

type Student struct {
    name string
    number int
}
  

Ответ №1:

Вам нужно написать атрибут name с большой буквы N , и он будет работать. Вот так:

 package models

type Student struct {
    Name string
    Number int
}
  

Маленькая буква означает неэкспортированный (частный) в Go, а заглавная буква означает экспортированный (общедоступный).
Также смотрите: Обзор Go

Комментарии:

1. Привет, Баззз! Большое спасибо за ваш ответ. Теперь я понимаю… Это работает 🙂

2. Привет, Никола, приятно слышать, что тебе удалось решить проблему. Пожалуйста, отметьте мой ответ как «правильный», чтобы другие, которые используют поиск для поиска решения, увидели, что это правильное.

3. Конечно, Bazzz 🙂 Я просто не могу, потому что мне нужно подождать несколько минут. Но тогда я окончательно 🙂