#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.