国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
8種基本數(shù)據(jù)類型
2.1. int類型
2.2. 整數(shù)直接量是int類型
2.3. 整型數(shù)據(jù)除法運算中的取整
2.4. 運算時要防止溢出的發(fā)生
3.1. long類型
3.2. 使用long類型進行較大整數(shù)的運算
3.3. 通過時間毫秒數(shù)來存儲日期和時間
4. double類型
4.1. 使用double進行浮點數(shù)的運算
4.2. 浮點數(shù)直接量是double類型
4.3. double運算時會出現(xiàn)舍入誤差
5.1. char類型
5.2. 對char型變量賦值
5.3. 使用轉(zhuǎn)義字符
6. boolean類型
6.1. 使用boolean變量進行關(guān)系運算
7. 基本類型間轉(zhuǎn)換
7.1. 類型間轉(zhuǎn)換
7.2. 強制轉(zhuǎn)換時的精度喪失和溢出
7.3. 數(shù)值運算時的自動轉(zhuǎn)換
7.4. byte、char、short轉(zhuǎn)換為int
Rumah Java JavaAsas 八種基本數(shù)據(jù)類型分別是什么

八種基本數(shù)據(jù)類型分別是什么

Jul 02, 2021 pm 12:08 PM
java Jenis data asas

八種基本數(shù)據(jù)類型分別是:1、4種整數(shù)類型(byte、short、int、long);2、2種浮點類型(float、double);3、1種字符類型“char”;4、1種布爾類型“boolean”。

八種基本數(shù)據(jù)類型分別是什么

本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。

8種基本數(shù)據(jù)類型

java中有8種基本數(shù)據(jù)類型, 分別用于存儲整數(shù)、浮點數(shù)、字符數(shù)據(jù)和布爾類型數(shù)據(jù)。需要注意的是: 現(xiàn)在所介紹的僅僅是基本數(shù)據(jù)類型,后續(xù)還會介紹很多非基本數(shù)據(jù)類型?;緮?shù)據(jù)類型如圖 – 1所示:

1.png?

- 1

從圖- 1中可以看出, 基本數(shù)據(jù)類型主要分為4大類 (整數(shù)類型、浮點類型、char、boolean), 整數(shù)類型又分為了4小類(byte、short、int、long), 浮點類型也分了2小類(float、double),這些數(shù)據(jù)類型的區(qū)別是怎樣的?通過圖– 2展示了這8種數(shù)據(jù)類型的存儲空間及使用場景:

?

- 2

在如上這8種數(shù)據(jù)類型中,最常用的有5種,分別為int、long、double、char、boolean。其余的數(shù)據(jù)類型幾乎不用,要求對這5種基本數(shù)據(jù)類型重點掌握,其余的數(shù)據(jù)類型,有興趣了解就可以了。

2. int類型

2.1. int類型

int是最常用的整數(shù)類型,一個int類型的變量占用4個字節(jié),即32位的內(nèi)存空間。Int的最大表示范圍為:-231~231-1,即-2147483648 ~2147483647,大約正負(fù)21個億多些。

2.2. 整數(shù)直接量是int類型

所謂整數(shù)直接量(literal)就是直接寫出的整數(shù),例如:下面的語句中,100就是直接量。

int a = 100;
int a = 100;

關(guān)于整數(shù)直接量,需要注意如下要點:

整數(shù)的直接量的類型默認(rèn)為int類型,如果直接寫出的整數(shù)超過了int的表達范圍,將會出現(xiàn)編譯錯誤,下面的語句,就是因為超出了整數(shù)的范圍而導(dǎo)致的編譯錯誤。

int d = 10000000000; // 編譯錯誤10000000000這個數(shù)值寫出來就是錯誤的,因為Java認(rèn)為所有直接寫出的整數(shù)都是int類型,而這個數(shù)值超過了int的表達范圍。
int d = 10000000000; // 編譯錯誤10000000000這個數(shù)值寫出來就是錯誤的,因為Java認(rèn)為所有直接寫出的整數(shù)都是int類型,而這個數(shù)值超過了int的表達范圍。

除了通常的十進制數(shù)字形式,整數(shù)直接量也可以寫成16進制的形式(以0X或0x開頭)或8進制的形式(以0開頭),請看如下直接量三種表現(xiàn)形式:

int a = 100000; // 10進制 
int b = 0x186a0; // 16進制 
int c = 0303240; // 8進制 
int a = 100000; // 10進制
int b = 0x186a0; // 16進制
int c = 0303240; // 8進制

2.3. 整型數(shù)據(jù)除法運算中的取整

若對兩個整數(shù)相除,會舍棄小數(shù)的部分(注意:不是四舍五入),結(jié)果也是整數(shù)。示例代碼如下所示:

int c = 5/3;
System.out.println(c);  // c的值為1,取整
int total = 87;    
int error = 23;
int percent = error / total * 100;
System.out.println(percent+"%");  //結(jié)果為0%,23除以87整數(shù)部分為0,乘以100,為0 
percent = 100 * error / total;
System.out.println(percent + "%");  // 結(jié)果為26%,230除以87整數(shù)部分為26 
int c = 5/3;
System.out.println(c);  // c的值為1,取整
int total = 87;    
int error = 23;
int percent = error / total * 100;
System.out.println(percent+"%");  //結(jié)果為0%,23除以87整數(shù)部分為0,乘以100,為0
 
percent = 100 * error / total;
System.out.println(percent + "%");  // 結(jié)果為26%,230除以87整數(shù)部分為26

2.4. 運算時要防止溢出的發(fā)生

當(dāng)兩個整數(shù)進行運算時, 其結(jié)果可能會超過整數(shù)的范圍而發(fā)生溢出,正數(shù)過大而產(chǎn)生的溢出,結(jié)果為負(fù)數(shù);負(fù)數(shù)過大而產(chǎn)生的溢出,結(jié)果為正數(shù)。示例代碼如下所示:

int a = 2147483647;    //int類型整數(shù)的上限
int b = -2147483648;    //int類型整數(shù)的下限
a = a + 1;
b = b - 1;
System.out.println("a=" + a);    //輸出結(jié)果: a=-2147483648 溢出,結(jié)果錯誤。 
System.out.println("b=" + b);    //輸出結(jié)果: b=2147483647溢出,結(jié)果錯誤。 
int a = 2147483647;    //int類型整數(shù)的上限
int b = -2147483648;    //int類型整數(shù)的下限
a = a + 1;
b = b - 1;
System.out.println("a=" + a);    //輸出結(jié)果: a=-2147483648 溢出,結(jié)果錯誤。
System.out.println("b=" + b);    //輸出結(jié)果: b=2147483647溢出,結(jié)果錯誤。

3. long類型

3.1. long類型

在表示整數(shù)時,如果int類型的范圍不夠,可以使用long類型,一個long型的變量占用8個字節(jié)(即64位),最大表示范圍為:-263 ~ 263-1,即 -9223372036854775808 ~ 9223372036854775807。

如果要表示long直接量,需要以 L 或 l 結(jié)尾。示例代碼如下:

long a = 10000000000;   //會有編譯錯誤,因為10000000000編譯器認(rèn)為是int類型,而這個值,已經(jīng)超出了int的范圍
long b = 10000000000l;   //正確
long a = 10000000000;   //會有編譯錯誤,因為10000000000編譯器認(rèn)為是int類型,而這個值,已經(jīng)超出了int的范圍
long b = 10000000000l;   //正確

3.2. 使用long類型進行較大整數(shù)的運算

對于較大的整數(shù)運算(超過int的表達范圍),可以使用long型。示例代碼如下:

long distance1 = 10000 * 365 * 24 * 60 * 60 * 299792458l;  
//必須有一個long型數(shù)據(jù)參與的運算結(jié)果才是long型 
System.out.println("distance1="+distance1);//distance1=547836957965889536 結(jié)果正確 
long distance2 = 10000 * 365 * 24 * 60 * 60 * 299792458; 
System.out.println("distance2="+ distance2);  //distance2=-1973211136 溢出,=號后面的數(shù)據(jù)默認(rèn)為int類型,超出了范圍,發(fā)生溢出。
long distance1 = 10000 * 365 * 24 * 60 * 60 * 299792458l;  
//必須有一個long型數(shù)據(jù)參與的運算結(jié)果才是long型
System.out.println("distance1="+distance1);//distance1=547836957965889536 結(jié)果正確
 
long distance2 = 10000 * 365 * 24 * 60 * 60 * 299792458;
System.out.println("distance2="+ distance2);  //distance2=-1973211136 溢出,=號后面的數(shù)據(jù)默認(rèn)為int類型,超出了范圍,發(fā)生溢出。

3.3. 通過時間毫秒數(shù)來存儲日期和時間

JDK提供 System.currentTimeMillis() 方法,返回1970年1月1日零點到此時此刻所經(jīng)歷的毫秒數(shù),數(shù)據(jù)太大,故其數(shù)據(jù)類型為long。示例代碼如下:

long time = System.currentTimeMillis();
System.out.println(time);     //輸出的結(jié)果為: 1383835712828
long time = System.currentTimeMillis();
System.out.println(time);     //輸出的結(jié)果為: 1383835712828

通過上面的代碼可以看出,輸出的結(jié)果已經(jīng)超出int類型的最大值,因此,JDK設(shè)計的返回類型為long型,該方法常常被用于計時操作。

4. double類型

4.1. 使用double進行浮點數(shù)的運算

前面所學(xué)習(xí)的int、long都是用于存儲整數(shù)的,小數(shù)即為浮點數(shù),包括: float(單精度)和double(雙精度),double類型的精度值是float類型的兩倍,因此而得名雙精精,在實際的應(yīng)用開發(fā)中,float應(yīng)用極少,大多數(shù)場合使用double表示浮點數(shù)。示例代碼如下:

double pi = 3.14;
double r = 8;
double s = pi * r * r;
System.out.println("s=" + s);   // 輸出的結(jié)果為:s=200.96
double pi = 3.14;
double r = 8;
double s = pi * r * r;
System.out.println("s=" + s);   // 輸出的結(jié)果為:s=200.96

4.2. 浮點數(shù)直接量是double類型

浮點數(shù)的直接量有兩種寫法:1)通常寫法,如:3.14、314、0.1、.5。 2)科學(xué)計數(shù)法,如:1.25E2、1.25e2、1.25E-2。其中,1.25E2表示1.25乘以10的2次方。

默認(rèn)的浮點直接量為double型,如果需要表示float類型的直接量,需要加“f”或“F”后綴。例如:

float f1 = 3.14   //編譯錯誤,應(yīng)該寫成3.14f
float f1 = 3.14   //編譯錯誤,應(yīng)該寫成3.14f

4.3. double運算時會出現(xiàn)舍入誤差

2進制系統(tǒng)中無法精確的表示1/10,就好像十進制系統(tǒng)中無法精確的表示1/3一樣,

所以,2進制表示10進制會有一些舍入誤差,對于一些要求精確運算的場合會導(dǎo)致代碼的缺陷。示例代碼如下所示:

double money = 3.0; 
double price = 2.9; 
System.out.println(money - price);   //輸出的結(jié)果是: 0.10000000000000009 
double money = 3.0;
double price = 2.9;
System.out.println(money - price);   //輸出的結(jié)果是: 0.10000000000000009

如果需要精確的運算可以考慮放棄使用double或float而采用BigDecimal 類來實現(xiàn)。關(guān)于這一點,將在后續(xù)的章節(jié)中介紹。

5. char類型

5.1. char類型

字符類型char事實上是一個16位無符號整數(shù)(都是正數(shù)),這個值是對應(yīng)字符的編碼,Java字符類型采用Unicode字符集編碼(通用碼、統(tǒng)一碼、萬國碼),而Unicode是世界通用的定長字符集,所有的字符都是16位來表示。例如:字符a實際的值為97,字符A實際的值為65,字符0實際的值為48。

字符直接量可以采用諸如:‘中’的形式,也可以采用16進制的表示形式,例如: ‘\u4e2d’,代碼如下所示:

char c1 = ‘中’;   //c1中存的是”中”的編碼 
char c2 = '\u4e2d';   //‘4e2d’為‘中’所對應(yīng)的16位Unicode編碼的16進制表示形式
System.out.println(c1);
System.out.println(c2);
char c1 = ‘中’;   //c1中存的是”中”的編碼
char c2 = '\u4e2d';   //‘4e2d’為‘中’所對應(yīng)的16位Unicode編碼的16進制表示形式
System.out.println(c1);
System.out.println(c2);

如上代碼的輸出結(jié)果:c1的值為中,c2值也為中,但c1和c2內(nèi)部存儲的其實是”中”這個字符所對應(yīng)的Unicode碼,即:一個無符號的整數(shù)。

5.2. 對char型變量賦值

在對char型變量賦值時,可以采用如下三種方式:

方式一:

字符直接量:形如‘A’,變量中實際存儲的是該字符的Unicode編碼(無符號整數(shù)值),一個char型變量只能存儲一個字符。示例如下:

char c1 = 'A';   
char c1 = 'A';

方式二:

整型直接量:范圍在0~65535之間的整數(shù),變量中實際存儲的即該整數(shù)值,但表示的是該整數(shù)值所對應(yīng)的Unicode字符。示例如下:

char c2 = 65;    
char c2 = 65;

Unicode形式:形如‘\u0041’,Unicode字符的16進制形式。示例如下:

char c3 = '\u0041'; 
char c3 = '\u0041';

5.3. 使用轉(zhuǎn)義字符

字符直接量需要包含在一對’’單引號之中,那如果想表示單引號’的字符時,需要怎么表示?想表示回車、換行符時,怎么表示?

因為單引號為特殊意義的字符, 那么,對于不方便輸出的字符可以采用轉(zhuǎn)義字符來表示,示例代碼如下:

char c = '\\';
System.out.println(c);  //輸出的結(jié)果為:\ 
char c = '\\';
System.out.println(c);  //輸出的結(jié)果為:\

常用轉(zhuǎn)義字符如下圖 – 2所示:

- 2

6. boolean類型

6.1. 使用boolean變量進行關(guān)系運算

boolean類型適用于關(guān)系、邏輯運算, 表示某個條件是否成立, 只允許取值true或false,true表示條件成立, 而false表示條件不成立。

boolean型變量經(jīng)常用于存儲關(guān)系運算的結(jié)果,所謂關(guān)系運算就是比較兩個變量的大小相等等關(guān)系(此知識點,后續(xù)詳細(xì)介紹)。boolean示例代碼如下所示:

int age = 18;
boolean isChild = age<16;  
System.out.println(isChild);   // isChild的值為false
boolean running = true; 
boolean closed = false; 
int age = 18;
boolean isChild = age<16;  
System.out.println(isChild);   // isChild的值為false
boolean running = true;
boolean closed = false;

7. 基本類型間轉(zhuǎn)換

7.1. 類型間轉(zhuǎn)換

不同的基本類型直接可以相互轉(zhuǎn)化,主要有兩種方式:

自動類型轉(zhuǎn)化(隱式類型轉(zhuǎn)換):從小類型到大類型可以自動完成。類型的大小關(guān)系如下圖 - 3所示:

- 3

強制轉(zhuǎn)化:從大類型到小類型需要強制轉(zhuǎn)換符,語法如下:

(需要轉(zhuǎn)換成的類型)變量

因為大類型的精度值大于小類型,取值范圍大于小類型,所以,當(dāng)使用強制轉(zhuǎn)化時,有可能會造成精度的損失或者溢出,所以,在使用強制轉(zhuǎn)化時要求顯式的告訴編譯器,正在進行強制轉(zhuǎn)換。

7.2. 強制轉(zhuǎn)換時的精度喪失和溢出

基本類型轉(zhuǎn)化如下示例所示,注意強制轉(zhuǎn)換時可能會造成的精度喪失和溢出。

int a = 100;
int b = 200;
long c = a + b;  //自動將int轉(zhuǎn)化為long 
long l1 = 1024l; 
int i = (int) l1;  //需要加強制轉(zhuǎn)化符由于1024在int的范圍內(nèi),所以沒有產(chǎn)生溢出 
long l = 1024L * 1024 * 1024 * 4;
int j = (int) l;    //會產(chǎn)生溢出
System.out.println(j);  // 結(jié)果為:0 
double pi = 3.1415926535897932384;
float f = (float) pi;   //會造成精度的損失,因為單精度的精確度小于double
System.out.println(f);  //結(jié)果為:3.1415927 
int a = 100;
int b = 200;
long c = a + b;  //自動將int轉(zhuǎn)化為long
 
long l1 = 1024l;
int i = (int) l1;  //需要加強制轉(zhuǎn)化符由于1024在int的范圍內(nèi),所以沒有產(chǎn)生溢出
 
long l = 1024L * 1024 * 1024 * 4;
int j = (int) l;    //會產(chǎn)生溢出
System.out.println(j);  // 結(jié)果為:0
 
double pi = 3.1415926535897932384;
float f = (float) pi;   //會造成精度的損失,因為單精度的精確度小于double
System.out.println(f);  //結(jié)果為:3.1415927

7.3. 數(shù)值運算時的自動轉(zhuǎn)換

如果在一個表達式中出現(xiàn)了多種數(shù)據(jù)類型,則運算結(jié)果會自動的向較大的類型進行轉(zhuǎn)化,

示例如下:

//由于有l(wèi)ong型的直接量參與,整個表達式的結(jié)果為long 
long distance = 10000 * 365 * 24 * 60 * 60 * 299792458l;
 
//由于有double型的直接量599.0參與,整個表達式的結(jié)果為 double 
double change = 800 - 599.0;
    
//結(jié)果為0.0,右邊都是int型數(shù)據(jù)運算結(jié)果也為int類型,結(jié)果為0,再賦值給double
將0轉(zhuǎn)化為 0.0
double persent1 = 80 / 100;  
//結(jié)果為0.8,右邊表達式有double型直接量參與, 運算結(jié)果為double型
double persent2 = 80.0 / 100;  
//由于有l(wèi)ong型的直接量參與,整個表達式的結(jié)果為long
long distance = 10000 * 365 * 24 * 60 * 60 * 299792458l;
 
//由于有double型的直接量599.0參與,整個表達式的結(jié)果為 double
double change = 800 - 599.0;
    
//結(jié)果為0.0,右邊都是int型數(shù)據(jù)運算結(jié)果也為int類型,結(jié)果為0,再賦值給double
型,將0轉(zhuǎn)化為 0.0
double persent1 = 80 / 100;
    
//結(jié)果為0.8,右邊表達式有double型直接量參與, 運算結(jié)果為double型
double persent2 = 80.0 / 100;

7.4. byte、char、short轉(zhuǎn)換為int

在前面所介紹的8種數(shù)據(jù)類型中,byte、char、short、int、long都表示整數(shù)類型,而整型的直接量為int,在實際使用中,為了方便使用,遵循了如下的規(guī)則:

int直接量可以直接賦值給byte、char和short,只要不超過其表示范圍。示例如下:

byte  b  = 97;
short  s  = 97;
char  c  = 97;
byte  b  = 97;
short  s  = 97;
char  c  = 97;

byte、char、short三種類型參與運算時,先一律轉(zhuǎn)換成int類型再進行運算。示例如下:

byte  b  =  97;
int  num = b + b;   //num的值為194

相關(guān)視頻教程推薦:Java視頻教程

Atas ialah kandungan terperinci 八種基本數(shù)據(jù)類型分別是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Bagaimana menangani transaksi di Java dengan JDBC? Bagaimana menangani transaksi di Java dengan JDBC? Aug 02, 2025 pm 12:29 PM

Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.

Bagaimana untuk bekerja dengan kalendar di Jawa? Bagaimana untuk bekerja dengan kalendar di Jawa? Aug 02, 2025 am 02:38 AM

Gunakan kelas dalam pakej Java.Time untuk menggantikan kelas lama dan kelas kalendar; 2. Dapatkan tarikh dan masa semasa melalui LocalDate, LocalDateTime dan Tempatan Tempatan; 3. Buat tarikh dan masa tertentu menggunakan kaedah (); 4. Gunakan kaedah tambah/tolak untuk meningkatkan dan mengurangkan masa; 5. Gunakan zoneddatetime dan zonid untuk memproses zon waktu; 6. Format dan parse date string melalui DateTimeFormatter; 7. Gunakan segera untuk bersesuaian dengan jenis tarikh lama apabila perlu; pemprosesan tarikh di java moden harus memberi keutamaan untuk menggunakan java.timeapi, yang memberikan jelas, tidak berubah dan linear

Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,

Bagaimana pengumpulan sampah berfungsi di java? Bagaimana pengumpulan sampah berfungsi di java? Aug 02, 2025 pm 01:55 PM

Koleksi Sampah Java (GC) adalah mekanisme yang secara automatik menguruskan ingatan, yang mengurangkan risiko kebocoran ingatan dengan menuntut semula objek yang tidak dapat dicapai. 1.GC menghakimi kebolehcapaian objek dari objek akar (seperti pembolehubah stack, benang aktif, medan statik, dan lain -lain), dan objek yang tidak dapat dicapai ditandakan sebagai sampah. 2. Berdasarkan algoritma penandaan tanda, tandakan semua objek yang dapat dicapai dan objek yang tidak ditandai. 3. Mengamalkan strategi pengumpulan generasi: Generasi Baru (Eden, S0, S1) sering melaksanakan MinorGC; Orang tua melakukan kurang tetapi mengambil masa lebih lama untuk melakukan MajorGC; Metaspace Stores Metadata kelas. 4. JVM menyediakan pelbagai peranti GC: SerialGC sesuai untuk aplikasi kecil; ParallelGC meningkatkan throughput; CMS mengurangkan

Pergi dengan contoh contoh pembalakan middleware http Pergi dengan contoh contoh pembalakan middleware http Aug 03, 2025 am 11:35 AM

HTTP Log Middleware di GO boleh merakam kaedah permintaan, laluan, IP klien dan memakan masa. 1. Gunakan http.handlerfunc untuk membungkus pemproses, 2. Rekod waktu mula dan masa akhir sebelum dan selepas memanggil next.servehttp, 3. Dapatkan IP pelanggan sebenar melalui r.remoteaddr dan X-forward-for headers, 4. Gunakan log.printf untuk mengeluarkan log permintaan, 5. Kod sampel lengkap telah disahkan untuk dijalankan dan sesuai untuk memulakan projek kecil dan sederhana. Cadangan lanjutan termasuk menangkap kod status, menyokong log JSON dan meminta penjejakan ID.

Menggunakan jenis html `input` untuk data pengguna Menggunakan jenis html `input` untuk data pengguna Aug 03, 2025 am 11:07 AM

Memilih jenis htmlinput yang betul dapat meningkatkan ketepatan data, meningkatkan pengalaman pengguna, dan meningkatkan kebolehgunaan. 1. Pilih jenis input yang sepadan mengikut jenis data, seperti teks, e -mel, tel, nombor dan tarikh, yang secara automatik boleh menyemak dan menyesuaikan diri dengan papan kekunci; 2. Gunakan HTML5 untuk menambah jenis baru seperti URL, Warna, Julat dan Carian, yang dapat memberikan kaedah interaksi yang lebih intuitif; 3. Gunakan pemegang tempat dan sifat -sifat yang diperlukan untuk meningkatkan kecekapan dan ketepatan pengisian bentuk, tetapi harus diperhatikan bahawa pemegang tempat tidak dapat menggantikan label.

Membandingkan Java Build Tools: Maven vs Gradle Membandingkan Java Build Tools: Maven vs Gradle Aug 03, 2025 pm 01:36 PM

GradleisthebetterChoiceFormostNewProjectSduetoitSsuperiorflexibility, Prestasi, danModernToolingSupport.1.Gradle'sGroovy/KOT lindslismoreconciseandexpressivethanmaven'sverbosexml.2.GradleOutPerformsMaveninBuildSpeedWithIncrementalcompilation, BuildCac

Pergi dengan contoh penangguhan yang dijelaskan Pergi dengan contoh penangguhan yang dijelaskan Aug 02, 2025 am 06:26 AM

Defer digunakan untuk melaksanakan operasi tertentu sebelum fungsi pulangan, seperti sumber pembersihan; Parameter dinilai dengan serta-merta apabila menangguhkan, dan fungsi-fungsi dilaksanakan mengikut urutan terakhir (LIFO); 1. Pelbagai penahanan dilaksanakan dalam urutan terbalik pengisytiharan; 2. Biasanya digunakan untuk pembersihan yang selamat seperti penutupan fail; 3. Nilai pulangan yang dinamakan boleh diubah suai; 4. Ia akan dilaksanakan walaupun panik berlaku, sesuai untuk pemulihan; 5. Elakkan penyalahgunaan menangguhkan gelung untuk mengelakkan kebocoran sumber; Penggunaan yang betul boleh meningkatkan keselamatan kod dan kebolehbacaan.

See all articles