Порядок функций Kotlin

#android #kotlin

#Android #kotlin

Вопрос:

Я изучал разработку Android в kotlin течение последних 2 недель, загружая проекты с открытым исходным github кодом и изменяя исходный код. Это был проект, который я изучал в течение последних нескольких дней. Когда я просматривал MainActivity.kt файл, я наткнулся на эту функцию (строка 69 в MainActivity.kt ):

 fun appendVal(string: String, isClear: Boolean) {
        if (isClear) {
            placeholder.text = ""
            answer.text = ""
//            placeholder.append(string)
        } else {
            placeholder.append(string)
        }
    }
  

Удивительно, но эта функция была ниже onCreate функции. Но если я попробую то же самое с python (разместив свою пользовательскую функцию ниже main() ), это вернет ошибку. Вот демонстрация:

 if __name__ == '__main__':
    print(add(1,2))

def add(a,b):
    return a b
  

Вывод:

 NameError: name 'add' is not defined
  

Почему то же самое не происходит в kotlin ? Имеет ли значение порядок functions в kotlin ? Любая помощь будет оценена. Спасибо!

Ответ №1:

Тезисы — это методы, а не просто какие-то свободные функции. И Kotlin является объектно-ориентированным, а не последовательным кодом. Таким образом, порядок методов не имеет ни малейшего значения, скорее глобальная / локальная область.

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

1. Theses are methods and not just some loose functions. — Можете ли вы подробнее остановиться на этом? И python также является объектно-ориентированным языком программирования.

Ответ №2:

Порядок функций не имеет значения в Kotlin или Java, но имеет значение в Python. Я советую вам размещать свои функции python в верхней части вашего скрипта на Python.