โอกาสที่ Google's Go จะกลายเป็นภาษาหลักเป็นอย่างไร [ปิด]


58

ใครที่นี่กำลังเรียนรู้โก บริษัท อื่นกำลังมองหาการใช้งานหรือไม่? มีแนวโน้มที่จะใช้กันอย่างแพร่หลาย?


21
ruby กลายเป็นที่นิยมหลังจากทางรถไฟ -c หลังจาก iphone สิ่งที่afterไป?
ohho

1
แย่มากมันไม่ได้แก้ปัญหาอะไรสำหรับคนส่วนใหญ่
Daniel Little

6
โอกาสอยู่ระหว่าง 0 ถึง 1 สิ่งใดที่เฉพาะเจาะจงมากขึ้นจะต้องมีปริญญาเอกด้านการพยากรณ์โรคซึ่งฉันไม่มี
Rein Henrichs

1
@Rein Henrichs - คุณจะได้รับหนึ่งถึงแม้ว่าคณะกรรมการจะต้องมีการเปลี่ยนแปลงเล็กน้อยในวิทยานิพนธ์ขั้นสุดท้าย
มาร์ติน Beckett

3
Google ควรพิจารณาการพัฒนาภาษา SDK สำหรับ Android ของ Google อย่างน้อยก็เป็นการเริ่มต้น
setzamora

คำตอบ:


46

เมื่อพูดถึงการเขียนโปรแกรมภาษาสุภาษิตโบราณ "ไม่ใช่คนที่คุณเป็นคนที่คุณรู้" ถือเป็นจริงอย่างแน่นอน C และ C ++ ได้รับการสนับสนุนจาก AT&T Java ถูกนำมาให้เราโดย Sun ตระกูล. NET ออกมาจาก Microsoft และทุกคนได้รับความนิยมอย่างรวดเร็ว จากนั้นเรามี Objective-C และ Python ซึ่งมีอยู่พักหนึ่งและอยู่ในสภาพปิดบังจริง ๆ จนกระทั่งพวกเขาถูกค้นพบและสะกดรอยตาม Apple และ Google ตามลำดับจากนั้นพวกเขาก็ถอดออกจริงๆ แต่ภาษาที่ไม่มีสปอนเซอร์รายใหญ่มักจะละเหี่ยในความสับสนไม่ว่าพวกเขาจะดีแค่ไหน

Go ได้รับการสนับสนุนจาก Google การสรุปที่ถูกต้องไม่ใช่เรื่องยากที่นี่ ให้ห้าปีและมันจะใหญ่มาก


13
@ixtmixilix: คุณจริงจังไหม? App EngineและGWTพูดเป็นอย่างอื่น
imgx64

4
@ixtmixilix - Guice (กรอบ IoC ที่ใช้ Java) เขียนขึ้นโดย Google และใช้ในส่วนหน้าของ AdWords และ Wave Google seam ใช้ภาษาได้หลายภาษา
mlk

3
+1 ฉันเห็นด้วยกับข้อโต้แย้งหลักของคุณ (FORTRAN, COBOL และ C นั้นมีชีวิตอยู่และดี) แต่ฉันไม่เห็นด้วยกับ Go เพราะมันเป็นเพียงการทดลองไกลสำหรับการเป็นสปอนเซอร์ของ บริษัท
Apalala

2
AT&T ไม่ได้ผลักดัน C หรือ C ++ C ได้รับความนิยมเพราะเป็นภาษาของ Unix และต่อมาก็เพราะว่ามันดีกว่า Pascal สำหรับโปรแกรมขนาดใหญ่ C ++ เป็นเพียงการแพร่กระจายตามหนังสือของ Stroustrup "การออกแบบและวิวัฒนาการของ C ++" โดยปกติแล้วภาษาจำเป็นต้องมีแอพนักฆ่าหรือผู้สนับสนุนองค์กรขนาดใหญ่เพื่อให้ได้คะแนนที่สูง
David Thornley

3
ห้าปีแล้ว - คุณคิดอย่างไรตอนนี้
hippietrail

17

ฉันไม่คิดว่า Go จะประสบความสำเร็จ เหตุผลที่ทำไมมันไม่ถึงมวลชนขนาดใหญ่ก็คือมันมีวัตถุประสงค์เพื่อเป็นภาษาสำหรับการเขียนโปรแกรมระบบ


17
ฉันไม่เห็นด้วย. ดูซอร์สโค้ดของ Linux สำหรับ 'echo' จากนั้นดูที่การติดตั้ง echo ของ Go หากภาษาสามารถโกนบรรทัดออกได้หลายพันคำสั่งแบบง่าย ๆ ก็อาจจะสามารถตัดบรรทัดออกจากสิ่งต่าง ๆ เช่นไลบรารีการประมวลผลกราฟิก และถ้ามันสามารถตัดบรรทัดของไลบรารีการประมวลผลกราฟิกได้บางทีคนที่ใช้ซอฟต์แวร์ id (ตัวอย่าง) สักวันหนึ่งจะพบว่ามีประโยชน์มากกว่า C / C ++ และเนื่องจาก id มีนิสัยในการปล่อยซอร์สโค้ดสำหรับเกมกราฟิก 3 มิติใน Go อาจมีขนาดใหญ่ภายใน 5 ปี
ixtmixilix

14
@ixtmixilix Linux ไม่มีส่วนเกี่ยวข้องกับ echo นั่นเป็นส่วนหนึ่งของ GNU
ทางเลือก

3
คุณเคยเห็นสิ่งที่เขียนใน erlang หรือไม่? นั่นไม่ใช่พระเจ้าที่น่ากลัว
Unix Janitor

2
ฉันคิดว่า Go จะเกิน C / C ++ เท่านั้นเนื่องจากภาษาของระบบคือถ้าระบบปฏิบัติการของ Google ปิดใช้งาน หากระบบปฏิบัติการของ Google ไม่หยุดทำงานฉันคิดว่ามันจะยากกว่าที่จะโดนกระแสหลัก
Jordan Parmer

2
Neiter I thik ที่ Go จะเติบโตเร็วมาก เหตุผลของฉัน: 1. ไวยากรณ์ค่อนข้างแปลก 2. Limbo มากเกินไป 3. ห้องสมุดไม่ครบถ้วนสมบูรณ์ 4. รูปแบบการทำงานพร้อมกันดีกว่าใน Erlang
Daniel Voina

15

มีความต้องการที่แท้จริงสำหรับภาษาของระบบที่มีคุณสมบัติที่ทันสมัยกว่า C และ C ++ ถูกผูกไว้ด้วยรหัสดั้งเดิมและความเข้ากันได้ย้อนหลังที่นี่เพื่อปรับปรุงมาก ที่กล่าวว่าฉันไม่คิดว่าจะไปเติมเต็มบทบาทในรูปแบบปัจจุบันของมัน การออกแบบมันเรียบง่ายเกินไป ในขณะที่รูปแบบการทำงานพร้อมกันนั้นน่าตื่นเต้น แต่ก็มีคุณสมบัติอื่น ๆ อีกสองสามอย่างตั้งแต่ภาษาระดับสูงไปจนถึงโลกของระบบ (ครั้งล่าสุดที่ฉันตรวจสอบซึ่งเป็นที่ยอมรับมาระยะหนึ่งแล้วมันก็ไม่มีข้อยกเว้น) นอกจากนี้อย่างน้อยที่สุดเท่าที่เกมเกณฑ์มาตรฐานภาษาคอมพิวเตอร์เป็นตัวชี้วัดที่ดี เกือบเร็วเท่ากับภาษาระบบ "ของจริง" ที่ต้องมี

ผมคิดว่าภาษาที่มีโอกาสที่ดีที่สุดที่จะเติมช่องว่างของภาษาระบบที่ทันสมัยมากขึ้นคือD D มีความแข็งแกร่งทางเทคนิคมากกว่า Go แต่มีความอ่อนแอทางการเมือง มันไม่ได้รับการสนับสนุนจาก บริษัท ใหญ่ ๆ สิ่งที่ต้องการจริงๆคือห้องสมุดบางแห่ง (ซึ่งกำลังได้รับการแก้ไขอย่างรวดเร็วในขณะนี้ว่าข้อมูลจำเพาะทางภาษามีเสถียรภาพ) และแอปนักฆ่า


7
อีกครั้ง "ไม่มีข้อยกเว้นแม้แต่ครั้งเดียว" เป็นการตัดสินใจครั้งสำคัญ - golang.org/doc/go_faq.html
user151019

1
@ Mark: น่าสนใจ ความตื่นตระหนกและการกู้คืนดูเหมือนเป็นข้อยกเว้นที่ถูกทำลาย D มีคำแถลงการณ์เกี่ยวกับขอบเขตซึ่งเทียบเท่ากับการเลื่อน () แต่มีข้อยกเว้นตามปกติ
dsimcha

3
มันไม่มีข้อยกเว้น แต่ไม่ต้องการ แต่อนุญาตให้ส่งคืนค่าได้หลายค่าซึ่งเป็นfoo, err := SomeFunc()เรื่องธรรมดา สำหรับปัญหาที่สำคัญหรือจุดที่ผิดพลาดไม่สามารถทำงานได้เป็นอย่างดีคุณสามารถใช้และpanic() recover()อย่างไรก็ตามสิ่งเหล่านี้ถูกใช้อย่างไม่ค่อยตั้งใจ ไม่มีทางที่จะส่งข้อยกเว้นขึ้นไปบนสแต็กหากสแต็กสั้นมากและสแต็คสั้น ๆ เป็นเรื่องธรรมดาที่มีหลายเธรดพร้อมกัน
crazy2be

3
"D มีความแข็งแกร่งทางเทคนิคมากกว่า Go", "การออกแบบมันเล็กเกินไป" น่าสนใจที่คุณพูดแบบนี้มันเป็นความจริง เป็นเพียงความคิดเห็นของคุณเท่านั้น
Moshe Revah

10

ฉันกำลังเรียนรู้ไปและใช่มันถูกใช้อย่างมีประสิทธิภาพนอกเหนือจาก Google และ Heroku

Go เป็นภาษาที่ดีสำหรับการเขียนโปรแกรมระบบ รหัสง่าย ๆ ใน C โครงสร้างที่ทรงพลังเหมือนกับใน C ++ และคุณลักษณะด้านความปลอดภัยเหมือนกับใน Java เนื่องจากเป็นภาษาที่อายุน้อยมากสิ่งดีๆมากมายจากภาษาอื่นจึงได้รับการถ่ายทอด:

  • ซ้ำมากกว่าช่วง
  • แชแนล (ลืม mutexes เป็นต้น)
  • ไม่มีลำดับชั้นชนิดมีเพียงการสืบทอดอินเตอร์เฟสเท่านั้น
  • ในความเป็นจริงไปไม่รู้แม้แต่ชั้นเรียน แต่มีความยืดหยุ่นมากขึ้น "ประเภท": อินเทอร์เฟซจะสืบทอดโดยอัตโนมัติเมื่อวิธีการที่กำหนดไว้ตรงกัน
  • สำเร็จรูปน้อยกว่า: i := 1แทนint i = 1, func f(x, y, z int)แทนvoid f(int x, int y, int z), type Foo struct { a, b int }; bar := Foo{1, 2}แทนที่จะเป็นclass Foo { int a; int b; Foo(int a, int b) { this.a = a; this.b = b; } } /* ... */ Foo bar = new Foo(1, 2);
  • ข้อยกเว้น ("ความตื่นตระหนก") เฉพาะกรณีที่ยอดเยี่ยมจริงๆ: ในกรณีอื่น ๆ ฟังก์ชั่นที่ทำให้เกิดข้อผิดพลาดได้ง่ายสามารถส่งคืนพารามิเตอร์ข้อผิดพลาดพิเศษซึ่งคุณสามารถเพิกเฉยได้

เมื่อพิจารณาจากสิ่งที่ดีเหล่านี้และความปลอดภัยและประสิทธิภาพที่รู้จักกันเฉพาะจากภาษาที่พิมพ์แบบคงที่ผู้คนจำนวนมากจากชุมชนภาษาแบบไดนามิกได้เริ่มชอบ Go ในกรณีส่วนใหญ่ Go-code นั้นไม่ได้ยาวกว่า Ruby-code มากนัก แต่ในทุกกรณีจะปลอดภัยและมีโครงสร้างที่ดีกว่า

แต่ในที่สุดฉันก็เดาได้ว่าการโต้เถียงของนักฆ่าสำหรับโกคือการเกิดพร้อมกัน มันเป็นภาษาที่เหมือน C ที่มีการสนับสนุนการทำงานพร้อมกันที่มีประสิทธิภาพที่เป็นที่รู้จักเท่านั้นจากภาษาที่ใช้งานได้


2
ฉันเพิ่งตกหลุมรัก Go ในขณะที่เรียนรู้มันสำหรับการเขียนโปรแกรม AppEngine และฉันก็ไม่สามารถพูดได้ดีกว่าคุณแล้ว ทำได้ดี.
Adam Crossland

5

ฉันจะบอกว่าสิ่งนี้ส่วนใหญ่ขึ้นอยู่กับห้องสมุด / บริการ / ซอฟต์แวร์ที่จะถูกสร้างขึ้นใน / สำหรับ / ใช้ไป ผู้คนใช้บางสิ่งในสามสถานการณ์ (ลำดับสำคัญ): เมื่อพวกเขาไม่มีตัวเลือกอื่น (Objective-C) เมื่อสภาพแวดล้อมใช้ (FORTRAN) เมื่อมันทำให้ชีวิตง่ายขึ้น (Ruby)


5

มันอาจจะช้าไปหน่อยสำหรับเรื่องนี้ แต่ Go กลายเป็นภาษาที่ได้รับความนิยมในขณะนี้และมีแนวโน้มว่าจะเข้าสู่กระแสหลักด้วย Google ผลักดันไปข้างหน้า มันกำลังถูกผลักดันให้เป็นภาษาที่ใช้สำหรับระบบและผลิตภัณฑ์ภายใน Google และถูกผลักให้เป็นภาษาที่ใช้กับ Google App Engine มีบางคนที่คมมากในแบ็กเอนด์ของการสร้าง Go และเสริมสร้างมัน มีคนที่ฉลาดและจินตนาการมากที่ทำงานในห้องสมุดบุคคลที่สามสำหรับ Go

เติมช่องว่างที่ภาษาอื่นยังไม่ได้กรอก สำหรับฉันฉันเคยลองเติมช่องว่างด้วย Perl และวิธีแก้ปัญหาและเทคนิคมากมาย ฉันไม่เชื่อว่ามันเป็นภาษาที่สมบูรณ์แบบสำหรับทุกสถานการณ์และทุกคน แต่แน่นอนว่ามันเป็นตัวเลือกสำหรับสถานการณ์จำนวนมาก ตัวอย่างเช่นมันใช้งานได้ดีสำหรับเว็บแอปขณะเดียวกันก็ใช้งานได้ดีสำหรับแอปเดสก์ท็อปหรือแอพที่ใช้เซิร์ฟเวอร์ มันทำงานได้อย่างยอดเยี่ยมด้วย HTTP และ WebSocket (ซึ่งหมายความว่าคุณสามารถข้าม Apache หรือ nginx ไปพร้อมกัน) ในขณะที่ยังทำงานได้ดีบน Windows, Linux และ OS X สำหรับ daemons และแอปเดสก์ท็อป ol ปกติ ตอนนี้สถานการณ์เดียวที่มันล้มเหลวสำหรับฉันคือสำหรับแอพ Android ซึ่งฉันหวังว่าจะได้รับการแก้ไขในไม่ช้า ฉันใช้มันสำหรับแอป Windows บนเดสก์ท็อป, แอปพลิเคชันบนเดสก์ท็อป Linux และแอปบนเว็บที่ใช้ Linux

ฉันเชื่อว่ามันจะเป็นเวลาหลายปีก่อนที่มันจะกระทบกระแสหลัก แต่จะไปถึงที่นั่น ฉันคิดว่ามันจำเป็นต้องสร้างไลบรารี่ของบุคคลที่สามมากขึ้นเช่นเดียวกับจำนวนและตัวเลือกที่ Perl มีกับ CPAN มันจะไปถึงที่นั่น


3

“ กระแสหลัก” หมายความว่าอย่างไร มันไม่ยากเลยที่จะตอบคำถามนี้ ลองดูสักหน่อยสิ

มีคำจำกัดความที่เป็นไปได้มากมาย นี่คือบางส่วน:

มุมมองการจัดการ:

  • ให้ลูกค้าเรียกร้องให้คุณใช้งาน
  • มีการจัดการที่เรียกร้องให้คุณใช้มัน
  • จะไม่ถูกวิพากษ์วิจารณ์จากฝ่ายบริหารเพื่อใช้งาน

มุมมองของนักพัฒนา:

  • เครื่องมือภาษาที่มีอยู่ทั่วไป (เช่นใน Linux ดิสทริบิวชัน)
  • เครื่องมือทางภาษาจะสามารถใช้งานได้เป็นเวลา 10 ปี
  • สร้างส่วนซอฟต์แวร์ที่จะคงอยู่และใช้งานอย่างน้อย 10 ปี

มุมมองนักอาชีพ:

  • ทักษะเฉพาะภาษาสามารถถ่ายโอนไปยังงานอื่นได้
    • นายหน้าขอให้มัน

จากข้างต้นทั้งหมดฉันจะยืนยันว่าคำตอบที่ซื่อสัตย์เพียงอย่างเดียวน่าจะเป็น "เร็วเกินไปที่จะบอก" แต่ฉันเชื่อว่าตัวบ่งชี้ที่ดีที่สุดของอายุยืนที่แท้จริงใด ๆ คือจำนวนน้อยธุรกิจที่ใช้ภาษา องค์กรขนาดใหญ่ทุกอย่างดี - พวกเขาอาจจำเป็นต่อการเติบโตของภาษาหรือระบบของเครื่องมือเนื่องจากขนาดของการลงทุนที่พวกเขาสามารถนำไปใช้ได้ - แต่พวกเขาค่อนข้างมีแนวโน้มที่จะผ่านแฟชั่น (มีข้อยกเว้นเล็กน้อย) ในทางตรงกันข้ามหากธุรกิจขนาดเล็กสร้างตัวเองขึ้นมาโดยใช้ภาษาเพื่อส่งมอบผลิตภัณฑ์และบริการพวกเขามีแนวโน้มที่จะต้องการมีส่วนร่วมในการสร้างความมั่นใจว่าพวกเขาจะยังคงสามารถทำได้ในอนาคต พวกเขายังเป็นรากฐานของตลาดงานที่แข็งแกร่งในพื้นที่และความต้องการเครื่องมือด้วย ตลกนี่เป็นตัวชี้วัดหลายประการเกี่ยวกับกระแสหลักในรายการของฉัน

ดังนั้นมีคนจำนวนมากนอก Googleที่ใช้ Go สำหรับทำงานของพวกเขา ฉันไม่รู้. (ฉันไม่ได้ความต้องการของฉันได้รับการบริการอย่างดีจากส่วนผสมของ Java, C และ Tcl. YMMV)


บทสรุปที่ยอดเยี่ยมเกี่ยวกับความหมายของ "กระแสหลัก" ฉันคิดว่า Go มีทั้งหมดเหล่านี้ยกเว้น“ ลูกค้าต้องการให้คุณใช้”
Wildcard

2

มันเป็นที่นิยมมากกว่าบางภาษา

อาจเป็นไปได้ว่า Go เป็นภาษาที่สำคัญที่สุดในรอบ 20 ปี มันนำเสนอผลประโยชน์ที่ยอดเยี่ยมในแง่ของชุดข้อมูลขนาดใหญ่ซึ่งมีไซต์โซเชียลมีเดียคอมพิวเตอร์คลาวด์การค้นหาและมือถือในปัจจุบัน

ไซต์ต่างๆเช่น Facebook, Twitter, Linkedin, YouTube และเครือข่ายการแสดงโฆษณามีการใช้งาน Google Go มากกว่า Ruby On Rails อย่างน้อยในบริบทบางอย่าง


1

ฉันมองไปที่เมื่อฉันได้ยิน ในฐานะผู้เริ่มต้นที่สมบูรณ์ฉันยังคงเรียนรู้ภาษาเริ่มต้น (ในกรณีของฉัน Java, C #, Python และ Scheme) ซึ่งเป็นสิ่งที่ต้องทำ แต่ถ้าฉันไม่ได้สนใจในภาษาที่แตกต่างกันมากมายฉันจะพิจารณาอย่างจริงจัง

ฉันคิดในระดับของฉันไม่มีอันตรายใด ๆ ในการทำให้พื้นฐานลงไปก่อนที่จะกระโดดลงบน bandwagons แม้ว่าถ้าฉันจำได้ถูกต้องเมื่อฉันเงยหน้าขึ้นมองฉันก็กลายเป็นที่ดึงดูดของ Erlang ด้วยเหตุผลบางอย่าง


1

ฉันเพิ่งดู Go เพราะคำถามนี้ดังนั้นฉันจึงไม่สามารถแสดงความคิดเห็นได้ว่าจะเป็นภาษาหลักหรือไม่ แต่สิ่งหนึ่งที่ทำให้ฉันตื่นเต้นจริงๆ:

http://golang.org/doc/go_spec.html#Channel_types

ครั้งแรกที่ผมมาในแนวคิดของช่องในสาธารณรัฐโคลัมเบีย-ปี่และผมต้องบอกว่ามันเป็นหนึ่งในสิ่งที่ดีที่สุดแนวคิดการเขียนโปรแกรมที่เคย มันทำให้การทำงานพร้อมกันดูง่ายมาก ๆ ซึ่งการทำสิ่งเดียวกันในภาษา C-type อาจเป็นเรื่องเจ็บปวด

จากสิ่งที่ฉันได้เห็น (ใน 10 นาทีที่ฉันได้ดู) Go ดูเหมือนว่าจะพยายามรวมแนวคิดการเขียนโปรแกรมที่แตกต่างกันมากมาย แต่นั่นมีความเสี่ยงที่จะเป็นแจ็คของการซื้อขายทั้งหมด


0

ฉันสงสัยว่ามันจะกลายเป็นกระแสหลักหรือไม่นั้นขึ้นอยู่กับว่า Google ใช้ภาษานั้นเป็นภาษาที่รองรับสำหรับ appengine และ / หรือ GWT หรือไม่


2
ภาษาของระบบมีประโยชน์กับ Google App Engine อย่างไร
ixtmixilix

ฉันจะบอกว่าเพียงเพราะเป็นภาษาของระบบที่คอมไพล์ไปยังรหัสเครื่องในปัจจุบันจะไม่ทำให้ Google ไม่สามารถกำหนดเป้าหมายแพลตฟอร์มอื่น ๆ ได้ในอนาคต เพียงแค่ดูสิ่งที่พวกเขาได้ทำกับจาวาคอมไพล์เพื่อจาวาสคริปต์ในกรณีของ GWT และ tafgetting dalvik vm สำหรับ Android Facebook ก็รวบรวม PHP เช่นเดียวกัน ฉันสามารถจินตนาการถึงผลลัพธ์ของ Go ซึ่งสามารถติดตั้งลงใน appengine ได้ในอนาคต
Chris Buckett

+1 - สิ่งสำคัญคือมีประโยชน์สำหรับบางสิ่ง แค่ดูว่า iPhone ทำอะไรกับ Objective-C

3
ดีที่เพิ่งเกิดขึ้น ทีนี้มาดูกันว่ามันจะออกไหม ...
Elad

3
สำหรับบันทึกนี้ฉันกำลังพัฒนาเว็บแอปพลิเคชั่นขนาดใหญ่ที่มีความทะเยอทะยานบนรันไทม์ AppEngine Go ไปมีประสิทธิภาพอย่างมากและรวดเร็ว รหัสสามารถอ่านได้มาก มันเป็นภาษาที่ยอดเยี่ยม
Adam Crossland

0

ฉันหวังว่า Go จะกลายเป็นที่นิยม

มันมีประสิทธิภาพในไวยากรณ์ (เรียนรู้ข้อดีจาก python, C, Java) มันดีสำหรับซีพียูแบบมัลติคอร์ (ฟังก์ชั่นของช่องนั้นดีกว่าการเขียนโปรแกรมเธรด) การออกแบบป้องกันไม่ให้เกิดข้อผิดพลาดของโปรแกรมเมอร์หลายคน (ตัวชี้ที่ไม่ถูกต้อง, รูปแบบการเขียนโค้ดเดียวกันโดยเครื่องมือ gofmt, ป้องกันข้อผิดพลาดที่ไม่ได้กำหนดค่าเริ่มต้นในครั้งแรกฉันลองใช้ครั้งแรกเพราะมันคือ python + C แต่ด้วยความเร็วใกล้ 1/2 1/2 ของ C

แต่หลังจากเรียนรู้อย่างลึกซึ้งฉันพบว่ามันอาจเหมาะสมในการพัฒนาความทนทานต่อข้อบกพร่องและสถาปัตยกรรมที่ปรับขนาดได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.