Jump to content

Kotlin, I dont understand why you must attached the "type" when you use "this" keyword

JoneLoveIT
Go to solution Solved by jj9987,
5 hours ago, JoneLoveIT said:

but why function print in the screenshoot have no return type?

Because print function does not return anything, it only triggers a print output to standard output.

4 hours ago, JoneLoveIT said:

and why do you still need : Order when it already in Order class?

Doesn't matter where the function is or what it belongs to. It still must define what it returns. A function in Order class can also return just a string. For example, you can have a function in the Order class, that is named getItems() and returns itemList, that is of type MutableList<Item>.

Every function must have a defined return type. It is simply for clarity reasons to keep things the same everywhere. Even if you use "this", it can cause confusion what exactly is "this", that is being returned.

HAL9000: AMD Ryzen 9 3900x | Noctua NH-D15 chromax.black | 32 GB Corsair Vengeance LPX DDR4 3200 MHz | Asus X570 Prime Pro | ASUS TUF 3080 Ti | 1 TB Samsung 970 Evo Plus + 1 TB Crucial MX500 + 6 TB WD RED | Corsair HX1000 | be quiet Pure Base 500DX | LG 34UM95 34" 3440x1440

Hydrogen server: Intel i3-10100 | Cryorig M9i | 64 GB Crucial Ballistix 3200MHz DDR4 | Gigabyte B560M-DS3H | 33 TB of storage | Fractal Design Define R5 | unRAID 6.9.2

Carbon server: Fujitsu PRIMERGY RX100 S7p | Xeon E3-1230 v2 | 16 GB DDR3 ECC | 60 GB Corsair SSD & 250 GB Samsung 850 Pro | Intel i340-T4 | ESXi 6.5.1

Big Mac cluster: 2x Raspberry Pi 2 Model B | 1x Raspberry Pi 3 Model B | 2x Raspberry Pi 3 Model B+

Link to comment
Share on other sites

Link to post
Share on other sites

22 minutes ago, jj9987 said:

Every function must have a defined return type. It is simply for clarity reasons to keep things the same everywhere. Even if you use "this", it can cause confusion what exactly is "this", that is being returned.

but why function print in the screenshoot have no return type?

Link to comment
Share on other sites

Link to post
Share on other sites

31 minutes ago, JoneLoveIT said:

but why function print in the screenshoot have no return type?

and why do you still need : Order when it already in Order class?

Link to comment
Share on other sites

Link to post
Share on other sites

5 hours ago, JoneLoveIT said:

but why function print in the screenshoot have no return type?

Because print function does not return anything, it only triggers a print output to standard output.

4 hours ago, JoneLoveIT said:

and why do you still need : Order when it already in Order class?

Doesn't matter where the function is or what it belongs to. It still must define what it returns. A function in Order class can also return just a string. For example, you can have a function in the Order class, that is named getItems() and returns itemList, that is of type MutableList<Item>.

HAL9000: AMD Ryzen 9 3900x | Noctua NH-D15 chromax.black | 32 GB Corsair Vengeance LPX DDR4 3200 MHz | Asus X570 Prime Pro | ASUS TUF 3080 Ti | 1 TB Samsung 970 Evo Plus + 1 TB Crucial MX500 + 6 TB WD RED | Corsair HX1000 | be quiet Pure Base 500DX | LG 34UM95 34" 3440x1440

Hydrogen server: Intel i3-10100 | Cryorig M9i | 64 GB Crucial Ballistix 3200MHz DDR4 | Gigabyte B560M-DS3H | 33 TB of storage | Fractal Design Define R5 | unRAID 6.9.2

Carbon server: Fujitsu PRIMERGY RX100 S7p | Xeon E3-1230 v2 | 16 GB DDR3 ECC | 60 GB Corsair SSD & 250 GB Samsung 850 Pro | Intel i340-T4 | ESXi 6.5.1

Big Mac cluster: 2x Raspberry Pi 2 Model B | 1x Raspberry Pi 3 Model B | 2x Raspberry Pi 3 Model B+

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×