user30541: In ESP-12E NodeMCU, all digital pins can be called with a number. Here is the list:
static const uint8_t D0   = 16; 
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2; 
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8   = 15;
static const uint8_t D9   = 3;
static const uint8_t D10  = 1;

So these two lines of code will do the same:
pinMode (D0, INPUT)
pinMode (16, INPUT)

What's the corresponding number for A0 (the only analog input of this board)?

user972: The numeric value of A0 is 17, as defined here.
But unlike on an Arduino board, you can't use it as a digital pin. It only work for pin numbers 0-16.
If you are using as a parameter for analogRead, the numeric values would be 0 and 17, as seen here.
And as such, these three calls would do the same:
analogRead(A0);
analogRead(17);
analogRead(0);


30541: <p>In ESP-12E NodeMCU, all digital pins can be called with a number. Here is the list:</p>

<pre><code>static const uint8_t D0   = 16; 
static const uint8_t D1   = 5;
static const uint8_t D2   = 4;
static const uint8_t D3   = 0;
static const uint8_t D4   = 2; 
static const uint8_t D5   = 14;
static const uint8_t D6   = 12;
static const uint8_t D7   = 13;
static const uint8_t D8   = 15;
static const uint8_t D9   = 3;
static const uint8_t D10  = 1;
</code></pre>

<p>So these two lines of code will do the same:</p>

<pre><code>pinMode (D0, INPUT)
pinMode (16, INPUT)
</code></pre>

<p>What's the corresponding number for A0 (the only analog input of this board)?</p>
 972: <p>The numeric value of <code>A0</code> is 17, as defined <a href="https://github.com/esp8266/Arduino/blob/2.3.0/variants/generic/common.h#L45" rel="noreferrer">here</a>.</p>

<p>But unlike on an Arduino board, you can't use it as a digital pin. <a href="https://github.com/esp8266/Arduino/blob/2.3.0/cores/esp8266/core_esp8266_wiring_digital.c#L79" rel="noreferrer">It only work for pin numbers 0-16</a>.</p>

<p>If you are using as a parameter for <code>analogRead</code>, the numeric values would be 0 and 17, as seen <a href="https://github.com/esp8266/Arduino/blob/2.3.0/cores/esp8266/core_esp8266_wiring_analog.c#L32" rel="noreferrer">here</a>.</p>

<p>And as such, these three calls would do the same:</p>

<pre class="lang-cpp prettyprint-override"><code>analogRead(A0);
analogRead(17);
analogRead(0);
</code></pre>
