Yes. Now you can answer this question when the next person asks.

On Wed, Jan 30, 2019 at 10:56 PM 伊藤和也 <[email protected]> wrote:

> OK, I want to make it clearer.
>
> Whether constants are untyped or typed, constants are treated at compile
> time and originary there is no idea of how much memory constants take but
> there is the idea of how much memory variables take so I should just focus
> on how much memory variables take at runtime.
> That's why for the examples below, the total memory usages are both "4"
> bytes respectably at runtime. Is it correct?
>
>> 1. var num int32 = 100
>>              |
>>         4 bytes
>
> 2. var num int32 = int32(100)
>>              |
>>         4 bytes
>
>
>
> 2019年1月31日木曜日 9時05分32秒 UTC+9 伊藤和也:
>
>> An interger constant is "int" type and takes "8" bytes memory on 64-bit
>> system.
>>
>> fmt.Println(unsafe.Sizeof(100)) // 8
>>> fmt.Println(reflect.TypeOf(100)) // int
>>
>>
>> and an "int32" type value takes "4" bytes.
>>
>> var num int32
>>> fmt.Println(unsafe.Sizeof(num)) // 4
>>
>>
>> So in this case below, Is the memory usage "12" bytes in total? (Question
>> 1)
>>
>> var num int32 = 100
>>>          |                  |
>>>     4 bytes  +  8 bytes = 12 bytes
>>
>>
>> and in this case below, Is the memory usage "16" bytes in total?
>> (Question 2)
>> because the integer constant "100" is "8" bytes first then it's converted
>> to "int32" which is "4" bytes.
>>
>> var num int32 = int32(100)
>>>          |                 |         |
>>>    4 bytes + 4 bytes + 8 bytes = 16 bytes
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
-- 

*Michael T. [email protected] <[email protected]>*

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to