NEW: Nominations are now open for the 2019 Swift Community Awards! >>

DAY 5

Functions


Functions let us wrap up pieces of code so they can be used in lots of places. We can send data into functions to customize how they work, and get back data that tells us the result that was calculated.

Believe it or not, function calls used to be really slow. Steve Johnson, the author of many early coding tools for the Unix operating system, said this:

“Dennis Ritchie (the creator of the C programming language) encouraged modularity by telling all and sundry that function calls were really, really cheap in C. Everybody started writing small functions and modularizing. Years later we found out that function calls were still expensive, and our code was often spending 50% of its time just calling them. Dennis had lied to us! But it was too late; we were all hooked...”

Why would they be “hooked” on function calls? Because they do so much to help simplify our code: rather than copying and pasting the same 10 lines of code in a dozen places, we can instead wrap them up in a function and use that instead. That means less code duplication, but also means if you change that function – perhaps adding more work – then everywhere using it will automatically get the new behavior, and there’s no risk of you forgetting to update one of the places you pasted it into.

Today you have 11 one-minute videos to watch, and you’ll meet things like variadic functions, throwing errors, and more. Once you’ve watched each video there’s a short test to help make sure you’ve understood what was taught.

  1. Writing functionstest
  2. Accepting parameterstest
  3. Returning valuestest
  4. Parameter labelstest
  5. Omitting parameter labelstest
  6. Default parameterstest
  7. Variadic functionstest
  8. Writing throwing functionstest
  9. Running throwing functionstest
  10. inout parameterstest
  11. Functions summarytest

Do you remember the two rules of this series? You’re already being awesome at the first one because you keep coming back for more (you rock!), but don’t forget the second: post your progress online, so you can benefit from all the encouragement.

Have some questions about functions?

Hit Send below to start a virtual conversation with me.

Need help? Tweet me @twostraws!

100 Days of SwiftUI


The 100 Days of SwiftUI is a free collection of videos, tutorials, tests, and more to help you learn SwiftUI faster. Click here to learn more, or watch the video below.

Back to 100 Days of SwiftUI