30 ตัวอย่างการเขียนโปรแกรม Golang สำหรับผู้เริ่มต้น

30 Tawxyang Kar Kheiyn Porkaerm Golang Sahrab Phu Reim Tn



Golang ซึ่งเรียกอีกอย่างว่าภาษาการเขียนโปรแกรม Go เป็นภาษาโปรแกรมโอเพ่นซอร์สที่ออกแบบโดย Google ในปี 2550 ภาษานี้เวอร์ชัน 1.0 เปิดตัวในปี 2555 เป็นภาษาโปรแกรมที่มีโครงสร้างเช่น C และแอปพลิเคชันประเภทต่าง ๆ เช่นบริการเครือข่ายคลาวด์ แอปพลิเคชัน เว็บแอปพลิเคชัน ฯลฯ สามารถพัฒนาได้ด้วยภาษา Golang ประกอบด้วยแพ็คเกจหลายประเภทเช่น Python เรียนรู้ได้ง่ายมาก ซึ่งทำให้ภาษานี้เป็นที่นิยมสำหรับโปรแกรมเมอร์หน้าใหม่ มีการอธิบายตัวอย่างการเขียนโปรแกรม Golang 30 ตัวอย่างในบทช่วยสอนนี้เพื่อเรียนรู้ Golang จากพื้นฐาน

ข้อกำหนดเบื้องต้น:

Golang ได้รับการสนับสนุนโดยระบบปฏิบัติการประเภทต่างๆ วิธีการติดตั้ง Golang บน Ubuntu ได้แสดงไว้ในส่วนนี้ของบทช่วยสอน รันคำสั่งต่อไปนี้เพื่ออัปเดตระบบและติดตั้ง Golang บนระบบก่อนฝึกตัวอย่างในบทช่วยสอนนี้







- ซูโดะ ปรับปรุงฉลาด
- ซูโดะ ฉลาด ติดตั้ง เติบโตไป

รันคำสั่งต่อไปนี้เพื่อตรวจสอบเวอร์ชันที่ติดตั้งของ Golang



- ไปเวอร์ชัน

สารบัญ:



  1. สวัสดี สวัสดีชาวโลก
  2. ตัวแปรสตริง Golang
  3. Golang int เป็นสตริง
  4. Golang สตริงเข้า ที
  5. การต่อสตริง Golang
  6. สตริงหลายบรรทัด Golang
  7. สตริงแยก Golang
  8. โกลัง สปรินต์
  9. โกลัง อีนัม
  10. โครงสร้างโกลัง
  11. อาร์เรย์โกลาน
  12. ชุดโกลัง
  13. Golang สำหรับวง
  14. Golang สำหรับช่วง
  15. Golang ในขณะที่วนซ้ำ
  16. โกแลงต่อเลย
  17. เคสสวิตช์ Golang
  18. โกลัง เลขสุ่ม
  19. โกลังนอนหลับ
  20. เวลาทอง
  21. โกลัง อุอิด
  22. Golang อ่านไฟล์
  23. Golang อ่านไฟล์ทีละบรรทัด
  24. Golang เขียนลงไฟล์
  25. Golang ตรวจสอบว่ามีไฟล์อยู่หรือไม่
  26. โกลัน ซีเอสวี
  27. โกลัง ยัมล์
  28. คำขอ Golang http
  29. อาร์กิวเมนต์บรรทัดคำสั่ง Golang
  30. การจัดการข้อผิดพลาด Golang


สวัสดี สวัสดีชาวโลก

ที่ หลัก แพ็คเกจของ Golang มีแพ็คเกจที่จำเป็นทั้งหมดสำหรับการเขียนโปรแกรม Golang และจำเป็นเพื่อเริ่มการทำงานของสคริปต์ Golang ที่ เอฟเอ็มที จำเป็นต้องนำเข้าแพ็คเกจเพื่อพิมพ์สตริงที่จัดรูปแบบในเทอร์มินัล สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ ค่าสตริง 'Hello World' จะถูกพิมพ์ในเทอร์มินัลหลังจากรันสคริปต์





//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'

//กำหนดฟังก์ชั่น main() เพื่อเริ่มการทำงาน
ฟังก์ชั่น หลัก - -

//พิมพ์ข้อความธรรมดาด้วยการขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ln - 'สวัสดีชาวโลก.' -

-

รันคำสั่งต่อไปนี้เพื่อรันสคริปต์ ที่นี่ สคริปต์ได้รับการบันทึกไว้ใน example1, go file

- ไปรัน example1.go

รันคำสั่งต่อไปนี้เพื่อสร้างไฟล์ไบนารีของไฟล์ Golang



- ไปสร้าง example1.go

เรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้ไฟล์ปฏิบัติการ

- - - ตัวอย่างที่ 1

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากดำเนินการคำสั่งข้างต้น ,,

  หน้า 1

ไปที่ด้านบน


ตัวแปรสตริง Golang

ตัวแปรสตริงสามารถใช้งานได้โดยไม่ต้องกำหนดประเภทข้อมูลและใช้กับประเภทข้อมูลใน Golang สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะพิมพ์ข้อมูลสตริงแบบง่ายและข้อมูลสตริงด้วยตัวแปรสตริง การใช้งานของ พิมพ์f() และ พิมพ์อิน() ฟังก์ชั่นได้รับการแสดงในสคริปต์

บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'

//กำหนดฟังก์ชัน main()
ฟังก์ชั่น หลัก - -

//พิมพ์ค่าสตริงขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ฟ - 'เรียนรู้ Golang จาก LinuxHint.com \n - -

//กำหนดตัวแปรสตริงแรก
เคยเป็น str1 - 'การเขียนโปรแกรมโกลัง'

//พิมพ์ตัวแปรโดยไม่ต้องขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ฟ - 'เรียนรู้ %s' - str1 -

//กำหนดตัวแปรสตริงที่สอง
เคยเป็น str2 - 'ง่ายต่อการเรียนรู้'

//พิมพ์ตัวแปรด้วยการขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ln - 'มันคือ' - str2 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ข้างต้น ผลลัพธ์ของสตริงที่ต่อกันทั้งสองจะถูกพิมพ์ที่นี่

  หน้า 2

ไปที่ด้านบน


Golang int เป็นสตริง

ที่ strconv.โช้ค() และ strconv.FormatInt() ฟังก์ชั่นสามารถใช้เพื่อแปลงจำนวนเต็มเป็นค่าสตริงใน Golang ที่ strconv.โช้ค() ใช้ในการแปลงค่าจำนวนเต็มให้เป็นชุดตัวเลข ที่ strconv.FormatInt() ฟังก์ชันใช้ในการแปลงค่าจำนวนเต็มฐานทศนิยมให้เป็นสตริง สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ที่แสดงวิธีการแปลงจำนวนเต็มเป็นสตริงใน Golang โดยใช้ฟังก์ชันที่กล่าวถึงข้างต้น ผู้ใช้จะดึงตัวเลขและค่าสตริงที่เกี่ยวข้องของตัวเลขจะถูกพิมพ์เป็นเอาต์พุต

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt และ strconv
นำเข้า -
'เอฟเอ็มที'
'strconv'
-

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรจำนวนเต็ม
เคยเป็น n ภายใน
//พิมพ์ข้อความ
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - n -

//แปลงจำนวนเต็มเป็นสตริงโดยใช้ฟังก์ชัน Itoa()
แปลง1 - strconv - จมน้ำตาย - n -
เอฟเอ็มที - พิมพ์ฟ - 'การแปลงจำนวนเต็มเป็นสตริงโดยใช้ Itoa(): %s \n - - แปลง1 -

//แปลงจำนวนเต็มเป็นสตริงโดยใช้ฟังก์ชัน FormatInt()
แปลง2 - strconv - รูปแบบInt - int64 - n - 10 -
เอฟเอ็มที - พิมพ์ฟ - 'การแปลงจำนวนเต็มเป็นสตริงโดยใช้ FormatInt(): %s \n - - แปลง2 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ จำนวน. 45 ถูกแปลงเป็นสตริงแล้ว “45”.

  หน้า 3

ไปที่ด้านบน


สตริง Golang เป็น int

ที่ strconv.อาโตอิ() ฟังก์ชั่นใช้ในการแปลงสตริงให้เป็นจำนวนเต็มใน Golang ใช้ค่าสตริงที่จะถูกแปลงเป็นจำนวนเต็มและส่งกลับค่าสองประเภท ค่าหนึ่งคือจำนวนเต็มหากการสนทนาสำเร็จ และค่าอื่นคือข้อผิดพลาดหากการสนทนาไม่สำเร็จ ไม่มี ค่าจะถูกส่งกลับ สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะแปลงค่าสตริงจำนวนหนึ่งให้เป็นจำนวนเต็มโดยใช้ strconv.อาโตอิ() การทำงาน. ค่าสตริง “342” จะถูกแปลงเป็นตัวเลข 342 และพิมพ์ออกมาหลังการดำเนินการ

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt และ strconv
นำเข้า -
'เอฟเอ็มที'
'strconv'
-

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรสตริง
STR - '342'

//แปลงสตริงเป็นจำนวนเต็มโดยใช้ฟังก์ชัน Atoi()
ราคา - ผิดพลาด - strconv - รถพ่วง - STR -

//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
//พิมพ์ค่าที่แปลงแล้ว
เอฟเอ็มที - พิมพ์ฟ - 'ราคาของหนังสือคือ %d \n - - ราคา -
- อื่น -
//พิมพ์ข้อความแสดงข้อผิดพลาด
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าสตริง “342” ถูกแปลงเป็น 342 ที่นี่

  หน้า 4

ไปที่ด้านบน


การต่อสตริง Golang

สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะเชื่อมสตริงเข้ากับตัวดำเนินการ '+' โดยใช้ฟังก์ชัน Printf() มีการใช้ฟังก์ชัน Println() ที่นี่เพื่อพิมพ์ค่าสตริงที่ต่อกันโดยใช้ตัวดำเนินการ '+' และฟังก์ชัน Printf() ถูกใช้ที่นี่เพื่อพิมพ์ค่าสตริงที่ต่อกันโดยใช้ตัวระบุ '%s' มีการประกาศตัวแปรสตริงสองตัวในสคริปต์ซึ่งจะต่อกันในภายหลัง

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรสตริงสองตัว
เคยเป็น str1 - str2 เชือก

//กำหนดค่าสตริง
str1 - “โกลัน”
str2 - 'การเขียนโปรแกรม'

//เชื่อมสตริงโดยใช้ตัวดำเนินการ '+'
เอฟเอ็มที - พิมพ์ln - 'ค่าสตริงที่ต่อกันโดยใช้ตัวดำเนินการ '+':' - str1 - str2 -
//เชื่อมสตริงโดยใช้ตัวระบุ '%s'
เอฟเอ็มที - พิมพ์ฟ - 'ต่อค่าสตริงโดยใช้ตัวระบุรูปแบบ: %s%s \n - - str1 - str2 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 5

ไปที่ด้านบน


สตริงหลายบรรทัด Golang

มีการแสดงวิธีที่แตกต่างกันสามวิธีในตัวอย่างต่อไปนี้เพื่อพิมพ์ข้อความหลายบรรทัดโดยใช้สคริปต์ Golang มีการใช้อักขระ '\n' ในตัวแปรสตริงแรกเพื่อสร้างข้อความหลายบรรทัด มีการใช้ backticks (`) ในสตริงที่สองเพื่อพิมพ์ข้อความหลายบรรทัด มีการใช้ backticks (`) พร้อมตัวระบุในสตริงที่สามเพื่อพิมพ์ข้อความหลายบรรทัด

บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศค่าสตริงหลายบรรทัดด้วยอักขระ '\n'
str1 - 'การเขียนโปรแกรม Golang\ เป็นเรื่องง่ายมาก \n เพื่อเรียนรู้ \n \n -
เอฟเอ็มที - พิมพ์ฟ - str1 -

//ประกาศค่าสตริงหลายบรรทัดด้วย backticks(`)
str2 - `เรียนรู้
โกลัง
จาก
Linuxคำแนะนำ
บล็อก.`

เอฟเอ็มที - พิมพ์ฟ - '%s \n \n - - str2 -

//ประกาศค่าสตริงสองค่า
ภาษา - 'โกลัน'
นักพัฒนา - 'Google'
//ประกาศค่าสตริงพร้อมตัวแปรและ backticks
str3 - `%s
เป็น
ที่พัฒนา
โดย
%s.`

เอฟเอ็มที - พิมพ์ฟ - str3 - ภาษา - นักพัฒนา -
//เพิ่มบรรทัดใหม่
เอฟเอ็มที - พิมพ์ln -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลลัพธ์ของตัวแปรสตริงทั้งสามที่มีค่าสตริงหลายบรรทัดได้ถูกพิมพ์ที่นี่

  หน้า 6

ไปที่ด้านบน


สตริงแยก Golang

ฟังก์ชัน strings.Split() ถูกใช้เพื่อแยกข้อมูลสตริงตามตัวคั่น สคริปต์ต่อไปนี้จะนำค่าสตริงจากผู้ใช้และแบ่งค่าสตริงตามเครื่องหมายทวิภาค (:) จำนวนค่าการแยกทั้งหมดและค่าการแยกสองค่าแรกจะถูกพิมพ์หลังการดำเนินการ

บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt และ strings
นำเข้า -
'เอฟเอ็มที'
'สาย'
-

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรสตริง
เคยเป็น STR เชือก
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'กรอกสตริงด้วยโคลอน(:)-' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - STR -

//กำหนดตัวคั่น
ตัวคั่น - -
//แยกค่าสตริง
split_value - สตริง - แยก - STR - ตัวคั่น -
//นับจำนวนค่าที่แยก
ความยาว - เท่านั้น - split_value -

//พิมพ์จำนวนค่าที่แยก
เอฟเอ็มที - พิมพ์ฟ - 'จำนวนค่าการแยกทั้งหมดคือ %d \n - - ความยาว -
// พิมพ์ค่าการแยก
เอฟเอ็มที - พิมพ์ln - 'ค่าแยกแรกคือ' - split_value - 0 -
เอฟเอ็มที - พิมพ์ln - 'ค่าแบ่งที่สองคือ' - split_value - 1 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าอินพุต “golang:google” ถูกแบ่งออกเป็นสองส่วนตามเครื่องหมายทวิภาค (:)

  หน้า 7

ไปที่ด้านบน


โกลัง สปรินต์

ฟังก์ชัน Sprintf() ใช้ใน Golang เพื่อจัดเก็บค่าสตริงที่จัดรูปแบบไว้ในตัวแปรเหมือนกับภาษาโปรแกรมมาตรฐานอื่นๆ มีการประกาศสตริงและตัวแปรจำนวนเต็มในสคริปต์ต่อไปนี้ ค่าของตัวแปรเหล่านี้ได้รับการจัดรูปแบบและจัดเก็บไว้ในตัวแปรโดยใช้ฟังก์ชัน Sprintf()

บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรสองตัว
เคยเป็น STR เชือก
เคยเป็น หนึ่ง ภายใน

//กำหนดค่าสตริง
STR - 'โกลัน'
//กำหนดค่าตัวเลข
หนึ่ง - 2555

//เก็บค่าสตริงที่รวมกันไว้ในตัวแปร
รวม_str - เอฟเอ็มที - สปรินต์ - 'เวอร์ชันแรกของ %s เปิดตัวใน %d' - STR - หนึ่ง -
//พิมพ์ตัวแปร
เอฟเอ็มที - พิมพ์ฟ - 'ผลลัพธ์ของ Sprintf(): \n %s \n - - รวม_str -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 8

ไปที่ด้านบน


โกลัง อีนัม

การแจกแจงหรือตัวแจงนับถูกนำมาใช้ใน Golang เพื่อประกาศประเภทข้อมูลของกลุ่มของค่าคงที่ที่เกี่ยวข้อง การประกาศประเภท enum ใน Golang นั้นแตกต่างจากภาษาโปรแกรมอื่น มีการประกาศประเภทแจงนับ 12 ค่าแล้ว และค่าตัวเลขของค่าแจงนับเฉพาะได้รับการพิมพ์ในภายหลัง

บรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

//ประกาศประเภทเก็บค่าเดือนเป็นตัวเลข (1-12)
พิมพ์ เดือน ภายใน

//ประกาศค่าคงที่ของแต่ละเดือนโดยเริ่มจาก 1
ค่าคงที่ -
เดือน ม.ค - ส่วนน้อย - 1
ก.พ
มี.ค
เม.ย
อาจ
มิ.ย
ก.ค
ส.ค
ก.ย
ต.ค
พ.ย
ธ.ค
-

//ประกาศฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรด้วยค่าเดือน
เคยเป็น M_num - อาจ
//พิมพ์ค่าตัวเลขที่สอดคล้องกันของเดือน
เอฟเอ็มที - พิมพ์ln - “ค่าเดือนเป็นตัวเลขคือ” - M_num -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าตัวเลขที่สอดคล้องกันของเดือนพฤษภาคมคือ 5

  หน้า 9

ไปที่ด้านบน


โครงสร้างโกลัง

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

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

//กำหนดโครงสร้างขององค์ประกอบทั้งสี่
พิมพ์ ผลิตภัณฑ์ โครงสร้าง -
รหัส เชือก
ชื่อ เชือก
ขนาด เชือก
ราคา ภายใน
-

ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรโครงสร้างตัวแรก
สินค้า1 - ผลิตภัณฑ์ - 'p-1209' - 'ฮาร์ดดิส' - '5TB' - 80 -
//ประกาศตัวแปรโครงสร้างที่สอง
สินค้า2 - ผลิตภัณฑ์ - 'พี-7342' - 'หนู' - - - สิบห้า -

//พิมพ์ตัวแปรโครงสร้าง
เอฟเอ็มที - พิมพ์ln - 'ผลิตภัณฑ์แรก:' - สินค้า1 -
เอฟเอ็มที - พิมพ์ln - 'ผลิตภัณฑ์ที่สอง:' - สินค้า2 -

//พิมพ์ค่าสี่ค่าของตัวแปรโครงสร้างแรกแยกกัน
เอฟเอ็มที - พิมพ์ln - 'รายละเอียดสินค้าตัวแรก:' -
เอฟเอ็มที - พิมพ์ln - 'ไอดี:' - สินค้า1 - รหัส -
เอฟเอ็มที - พิมพ์ln - 'ชื่อ: ' - สินค้า1 - ชื่อ -
เอฟเอ็มที - พิมพ์ln - 'ขนาด: ' - สินค้า1 - ขนาด -
เอฟเอ็มที - พิมพ์ln - 'ราคา: ' - สินค้า1 - ราคา -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 10

ไปที่ด้านบน


อาร์เรย์โกลาน

ตัวแปรอาร์เรย์ใช้ใน Golang เพื่อเก็บค่าหลายค่าของประเภทข้อมูลเฉพาะ เช่นเดียวกับภาษาโปรแกรมมาตรฐานอื่นๆ วิธีการประกาศและการเข้าถึงอาร์เรย์ของค่าสตริงและอาร์เรย์ของค่าตัวเลขได้แสดงไว้ในสคริปต์แล้ว

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

ฟังก์ชั่น หลัก - -

//ประกาศอาร์เรย์ของค่าสตริง
str_arr - - 4 - เชือก - 'กูเกิลคอม' - 'ask.com' - 'บิง.คอม' - 'คุณ.คอม' -
//พิมพ์อาร์เรย์ของสตริง
เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์เรย์สตริงคือ:' - str_arr -
//พิมพ์องค์ประกอบที่ 3 ของอาร์เรย์
เอฟเอ็มที - พิมพ์ln - 'ค่าที่ 3 ของอาร์เรย์คือ' - str_arr - 2 -

//ประกาศอาร์เรย์ของค่าตัวเลข
int_arr - - 6 - ภายใน - 65 - 3. 4 - 12 - 81 - 52 - 70 -
//พิมพ์อาร์เรย์ของจำนวนเต็ม
เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์เรย์จำนวนเต็มคือ: ' - int_arr -
//พิมพ์องค์ประกอบที่ 4 ของอาร์เรย์
เอฟเอ็มที - พิมพ์ln - 'ค่าที่ 4 ของอาร์เรย์คือ' - int_arr - 3 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 11

ไปที่ด้านบน


ชุดโกลัง

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

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

ฟังก์ชั่น หลัก - -
//กำหนดชุดของสตริง
แค่ - แผนที่ - เชือก - โครงสร้าง -
//แทรกสามองค์ประกอบลงในชุดโดยใช้โครงสร้างว่าง
แค่ - 'ไป' - - โครงสร้าง -
แค่ - 'ทุบตี' - - โครงสร้าง -
แค่ - 'หลาม' - - โครงสร้าง -

//พิมพ์องค์ประกอบที่มีอยู่ในปัจจุบันของชุด
เอฟเอ็มที - พิมพ์ln - แค่ -

//ลบองค์ประกอบออกจากชุด
ลบ - แค่ - 'หลาม' -

//เพิ่มองค์ประกอบใหม่ให้กับชุด
แค่ - 'ชวา' - - โครงสร้าง -

//พิมพ์ค่าที่ตั้งไว้หลังจากลบและเพิ่มองค์ประกอบ
เอฟเอ็มที - พิมพ์ln - แค่ -

เอฟเอ็มที - พิมพ์ฟ - - \n ค่าที่ตั้งไว้คือ: \n - -
//พิมพ์แต่ละองค์ประกอบของชุดแยกกัน
สำหรับ - พิสัย แค่ -
เอฟเอ็มที - พิมพ์ln - -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 12

ไปที่ด้านบน


Golang สำหรับวง

for loop สามารถใช้ได้หลายวิธีและเพื่อวัตถุประสงค์ที่แตกต่างกันใน Golang การใช้สามนิพจน์ for loop ได้รับการแสดงในสคริปต์ต่อไปนี้ การวนซ้ำจะวนซ้ำ 5 ครั้งเพื่อรับค่าอินพุต 5 ค่า และผลรวมของค่าอินพุตเหล่านี้จะถูกพิมพ์ในภายหลัง

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

ฟังก์ชั่น หลัก - -

//ประกาศตัวแปรจำนวนเต็ม
เคยเป็น ตัวเลข ภายใน
//ประกาศตัวแปรเพื่อเก็บค่าผลรวม
เคยเป็น ผลรวม - 0
//กำหนด for loop
สำหรับ n - 1 - ยังไม่มี < - 5 - n - -
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - ตัวเลข -
//เพิ่มหมายเลขอินพุตด้วยตัวแปรผลรวม
ผลรวม - ผลรวม - ตัวเลข
-
//พิมพ์ผลการสรุป
เอฟเอ็มที - พิมพ์ฟ - 'ผลรวมของค่าอินพุตทั้ง 5 ค่าคือ %d \n - - ผลรวม -

-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลรวมของ 6, 3, 4, 7 และ 9 คือ 29

  หน้า 13

ไปที่ด้านบน


Golang สำหรับช่วง

ช่วงนี้ใช้กับ for loop ใน Golang เพื่อเข้าถึงสตริง อาร์เรย์ และแมป วิธีการเข้าถึงอาร์เรย์ของสตริงโดยใช้ for loop พร้อม range ได้แสดงไว้ในสคริปต์ต่อไปนี้ for loop อันแรกจะพิมพ์ค่าอาร์เรย์เท่านั้น และ for loop อันที่สองจะพิมพ์ดัชนีและค่าของอาร์เรย์

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

ฟังก์ชั่น หลัก - -

//ประกาศอาร์เรย์ของสตริง
ดอกไม้ - - 4 - เชือก - 'ดอกกุหลาบ' - 'ลิลลี่' - “ดาเลีย” - “ดอกทานตะวัน” -

เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์เรย์คือ:' -
//พิมพ์ค่าอาร์เรย์
สำหรับ - - วาล - พิสัย ดอกไม้ -
เอฟเอ็มที - พิมพ์ln - วาล -
-

เอฟเอ็มที - พิมพ์ln - 'ดัชนีและค่าอาร์เรย์คือ:' -
//พิมพ์ค่าอาร์เรย์ตามดัชนี
สำหรับ ใน - วาล - พิสัย ดอกไม้ -
เอฟเอ็มที - พิมพ์ฟ - '%d := %s \n - - ใน - 1 - วาล -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 14

ไปที่ด้านบน


Golang ในขณะที่วนซ้ำ

Golang ไม่มี while loop เหมือนภาษาโปรแกรมอื่นๆ อย่างไรก็ตาม คุณลักษณะของ while loop สามารถนำไปใช้ใน Golang ได้โดยใช้ for loop วิธีการใช้ while loop โดยใช้ for loop ได้แสดงไว้ในสคริปต์ต่อไปนี้ การวนซ้ำ for จะถูกวนซ้ำ 4 ครั้งและรับตัวเลขสี่ตัว ผลรวมของตัวเลขเหล่านี้กับค่าเศษส่วนจะถูกพิมพ์ในภายหลัง

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'


ฟังก์ชั่น หลัก - -
เคาน์เตอร์ - 1
ผลรวม - 0 - 0
เคยเป็น ตัวเลข ลอย64
สำหรับ เคาน์เตอร์ < - 4 -
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - ตัวเลข -
//เพิ่มหมายเลขอินพุตด้วยตัวแปรผลรวม
ผลรวม - ผลรวม - ตัวเลข
//เพิ่มตัวนับขึ้น 1
เคาน์เตอร์ -
-
//พิมพ์ผลการสรุป
เอฟเอ็มที - พิมพ์ฟ - 'ผลรวมของค่าอินพุตสี่ค่าคือ %0.2f \n - - ผลรวม -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลรวมของ 6.8, 3.2, 8.5 และ 4.9 คือ 23.40

  หน้า 15

ไปที่ด้านบน


โกแลงต่อเลย

คำสั่ง Continue ถูกใช้ในวงใดๆ เพื่อละเว้นคำสั่งเฉพาะตามเงื่อนไข ในสคริปต์ต่อไปนี้ for loop ถูกใช้เพื่อวนซ้ำลูปที่จะข้ามค่าของค่าที่ 2 และค่าที่สี่ของอาร์เรย์โดยใช้คำสั่ง Continue

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'


ฟังก์ชั่น หลัก - -
เคาน์เตอร์ - 1
ผลรวม - 0 - 0
เคยเป็น ตัวเลข ลอย64
สำหรับ เคาน์เตอร์ < - 4 -
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - ตัวเลข -
//เพิ่มหมายเลขอินพุตด้วยตัวแปรผลรวม
ผลรวม - ผลรวม - ตัวเลข
//เพิ่มตัวนับขึ้น 1
เคาน์เตอร์ -
-
//พิมพ์ผลการสรุป
เอฟเอ็มที - พิมพ์ฟ - 'ผลรวมของค่าอินพุตสี่ค่าคือ %0.2f \n - - ผลรวม -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 16

ไปที่ด้านบน


เคสสวิตช์ Golang

คำสั่ง switch-case ใน Golang นั้นคล้ายคลึงกับภาษาการเขียนโปรแกรมอื่นๆ แต่ไม่จำเป็นต้องใช้คำสั่งแบ่งกับแต่ละคำสั่ง case ใน Golang วิธีการกำหนดค่าหลายกรณีภายในบล็อกสวิตช์ได้แสดงไว้ในตัวอย่างต่อไปนี้

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'

ฟังก์ชั่น หลัก - -

เคยเป็น n ภายใน
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนค่าเดือนเป็นตัวเลข: ' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - n -

//พิมพ์ข้อความตามค่าตัวพิมพ์ที่ตรงกัน
สวิตช์ n -
กรณี 1 - 2 - 3 - 4 -
เอฟเอ็มที - พิมพ์ln - 'ภาคเรียนฤดูหนาว' -

กรณี 5 - 6 - 7 - 8 -
เอฟเอ็มที - พิมพ์ln - 'ภาคเรียนฤดูร้อน' -

กรณี 9 - 10 - สิบเอ็ด - 12 -
เอฟเอ็มที - พิมพ์ln - 'ภาคเรียนฤดูใบไม้ร่วง' -

ค่าเริ่มต้น -
เอฟเอ็มที - พิมพ์ln - 'ค่าเดือนอยู่นอกช่วง' -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 17

ไปที่ด้านบน


โกลัง เลขสุ่ม

มีการใช้แพ็คเกจคณิตศาสตร์/แรนด์ใน Golang เพื่อสร้างตัวเลขสุ่ม วิธีการสร้างตัวเลขสุ่มสี่ประเภทแสดงไว้ในสคริปต์ต่อไปนี้ ฟังก์ชัน rand.Int() ใช้เพื่อสร้างตัวเลขสุ่มจำนวนเต็มยาว ฟังก์ชัน rand.Intn(n) ใช้เพื่อสร้างตัวเลขสุ่มจำนวนเต็มของช่วงนั้น ๆ และค่าสูงสุดจะถูกส่งผ่านเป็นค่าอาร์กิวเมนต์ของฟังก์ชัน 999 ถูกตั้งค่าเป็นค่าอาร์กิวเมนต์ในสคริปต์ ฟังก์ชัน rand.Float32() ใช้เพื่อสร้างตัวเลขสุ่มเศษส่วนแบบสั้น และฟังก์ชัน rand.Float64() ใช้เพื่อสร้างตัวเลขสุ่มเศษส่วนแบบยาว

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
//นำเข้าโมดูลที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เวลา'
'คณิต/แรนด์'
-

ฟังก์ชั่น หลัก - -
//ตั้งค่า seed เพื่อสร้างตัวเลขสุ่ม
แรนด์ - เมล็ดพันธุ์ - เวลา - ตอนนี้ - - ยูนิกซ์นาโน -
//พิมพ์สร้างจำนวนเต็มแบบสุ่ม
เอฟเอ็มที - พิมพ์ln - 'ค่าจำนวนเต็มสุ่ม: ' - แรนด์ - นานาชาติ -
// พิมพ์จำนวนเต็มสุ่มภายใน 999
เอฟเอ็มที - พิมพ์ln - 'สุ่มค่าจำนวนเต็มพร้อมช่วง: ' - แรนด์ - นานาชาติ - 999 -
//พิมพ์โฟลตแบบสุ่ม 32 บิต
เอฟเอ็มที - พิมพ์ln - 'ค่าทศนิยมแบบสุ่ม 32 บิต:' - แรนด์ - ลอย32 -
// พิมพ์โฟลตแบบสุ่ม 64 บิต
เอฟเอ็มที - พิมพ์ln - 'ค่าทศนิยมแบบสุ่ม 64 บิต:' - แรนด์ - ลอย64 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 18

ไปที่ด้านบน


โกลังนอนหลับ

ฟังก์ชัน time.Sleep() ใช้ใน Golang เพื่อหยุดการทำงานของสคริปต์ชั่วคราวในช่วงระยะเวลาหนึ่ง สคริปต์ต่อไปนี้จะคำนวณค่าเฉลี่ยของตัวเลขสามตัวและรอเป็นเวลา 3 วินาทีก่อนที่จะยุติสคริปต์

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เวลา'
-
ฟังก์ชั่น หลัก - -

เอฟเอ็มที - พิมพ์ln - 'เริ่มรันสคริปต์...' -
//กำหนดตัวแปร 3 ตัว
- 40
- 30
- 29
//พิมพ์ตัวแปร
เอฟเอ็มที - พิมพ์ฟ - “ตัวเลขสามตัวคือ : %d, %d, %d \n - - - - -
เอฟเอ็มที - พิมพ์ln - 'กำลังคำนวณค่าเฉลี่ยของตัวเลขสามตัว...' -
เฉลี่ย - - - - - - 3
//ดีเลย์เป็นเวลา 3 วินาที
เวลา - นอน - 3 - เวลา - ที่สอง -
//พิมพ์ผลลัพธ์
เอฟเอ็มที - พิมพ์ฟ - “ค่าเฉลี่ยคือ %d \n - - เฉลี่ย -
เอฟเอ็มที - พิมพ์ln - 'โปรแกรมสิ้นสุดแล้ว' -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 19

ไปที่ด้านบน


เวลาทอง

แพ็คเกจเวลาใช้ใน Golang เพื่ออ่านวันที่และเวลาปัจจุบัน แพคเกจนี้มีวิธีการและคุณสมบัติมากมายในการอ่านวันที่และเวลาในรูปแบบต่างๆ วันที่และเวลา 'จันทร์ 2 มกราคม 15:04:05 -0700 MST 2006' ใช้เป็นค่าอ้างอิงใน Golang เพื่อเข้าถึงวันที่และเวลา การใช้แพ็คเกจเวลาได้แสดงไว้ในตัวอย่างต่อไปนี้

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เวลา'
-

ฟังก์ชั่น หลัก - -
//อ่านวันที่และเวลาปัจจุบัน
วันนี้ - เวลา - ตอนนี้ -
//พิมพ์วันที่ปัจจุบัน
เอฟเอ็มที - พิมพ์ฟ - 'วันนี้คือ %s \n - - วันนี้ - รูปแบบ - '02 ม.ค. 2549' -
//พิมพ์วันที่และเวลาปัจจุบัน
เอฟเอ็มที - พิมพ์ฟ - “วันที่และเวลาปัจจุบันคือ %s \n - - วันนี้ - รูปแบบ - เวลา - RFC1123 -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

ไปที่ด้านบน


โกลัง อุอิด

UUID หรือ Universally Unique Identifier สามารถสร้างขึ้นได้โดยสคริปต์ Golang เป็นค่าเฉพาะ 128 บิตเพื่อระบุระบบคอมพิวเตอร์ คุณต้องดาวน์โหลด uuid จากไฟล์ github.com/google/uuid ก่อนที่จะรันสคริปต์ต่อไปนี้

ไปที่โฮมไดเร็กทอรีและรันคำสั่งต่อไปนี้เพื่อดาวน์โหลดแพ็คเกจที่จำเป็นเพื่อสร้างสคริปต์ uuid โดย Golang

$ ไป mod เริ่มต้น uuid
$ ไปรับ github.com - Google - อุ๊ย

ในสคริปต์ต่อไปนี้ uuid แรกจะถูกสร้างขึ้นโดยใช้ฟังก์ชัน uuid.New() ที่ส่งคืนตัวระบุที่ไม่ซ้ำกัน uuid ตัวที่สองถูกสร้างขึ้นโดยฟังก์ชัน uuid.NewUUID() ที่ส่งคืนค่าสองค่า ค่าประกอบด้วยตัวระบุที่ไม่ซ้ำกัน และค่าที่สองประกอบด้วยข้อความแสดงข้อผิดพลาดหากมีอยู่

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'github.com/google/uuid'
-
ฟังก์ชั่น หลัก - -

//สร้าง ID เฉพาะโดยใช้ฟังก์ชัน New()
ไอดีใหม่ - อุ๊ย - ใหม่ -
เอฟเอ็มที - พิมพ์ฟ - 'UUID แรกที่สร้างขึ้นคือ %s \n - - ไอดีใหม่ -

//สร้าง ID เฉพาะโดยใช้ฟังก์ชัน NewUUID()
ไอดีใหม่ - ผิดพลาด - อุ๊ย - ใหม่UUID -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ฟ - 'UUID ที่สองที่สร้างขึ้นคือ %s \n - - ไอดีใหม่ -
- อื่น -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 21

ไปที่ด้านบน


Golang อ่านไฟล์

ที่ io/ioutil แพ็คเกจของ Golang ใช้เพื่ออ่านเนื้อหาของไฟล์ ฟังก์ชัน ReadFile() ของแพ็คเกจนี้จะอ่านเนื้อหาทั้งหมดของไฟล์ ฟังก์ชันนี้ส่งคืนเนื้อหาทั้งหมดของไฟล์ไปยังตัวแปรหากมีไฟล์อยู่ มิฉะนั้นข้อความแสดงข้อผิดพลาดจะถูกส่งกลับ วิธีการอ่านเนื้อหาทั้งหมดของไฟล์ข้อความที่มีอยู่ได้แสดงไว้ในสคริปต์ต่อไปนี้

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'io/ioutil'
'เอฟเอ็มที'
'บันทึก'
-

ฟังก์ชั่น หลัก - -

//อ่านไฟล์ข้อความ
ข้อความ - ผิดพลาด - ioutil - อ่านไฟล์ - 'ภาษา.txt' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ฟ - “เนื้อหาของไฟล์: \n \n - -
เอฟเอ็มที - พิมพ์ln - เชือก - ข้อความ -
- อื่น -
บันทึก - ฟาตาล์ฟ - 'ข้อผิดพลาดในการอ่านไฟล์: %v' - ผิดพลาด -
-

-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 22

ไปที่ด้านบน


Golang อ่านไฟล์ทีละบรรทัด

แพ็คเกจ “bufio” ของ Golang ใช้เพื่ออ่านเนื้อหาของไฟล์ทีละบรรทัด ในสคริปต์ต่อไปนี้ bufio.NewScanner() ถูกใช้เพื่อสร้างอ็อบเจ็กต์เพื่ออ่านไฟล์ จากนั้น ฟังก์ชัน Scan() จะถูกใช้กับลูปเพื่ออ่านและพิมพ์แต่ละบรรทัดของไฟล์

//เพิ่มแพ็คเกจหลัก
บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
'บูฟิโอ'
-
ฟังก์ชั่น หลัก - -

//เปิดไฟล์ข้อความเพื่ออ่าน
- ผิดพลาด - คุณ - เปิด - 'ภาษา.txt' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
//สแกนเนื้อหาไฟล์
อ่าน - บูฟิโอ - ใหม่สแกนเนอร์ - -
//อ่านไฟล์ทีละบรรทัด
สำหรับ อ่าน - สแกน - -
เอฟเอ็มที - พิมพ์ln - อ่าน - ข้อความ -
-
- อื่น -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
//ปิดไฟล์
เลื่อนออกไป - ปิด -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 23

ไปที่ด้านบน


Golang เขียนลงไฟล์

ที่ คุณ แพ็คเกจของ Golang ใช้เปิดไฟล์สำหรับเขียนและ เขียนสตริง() ฟังก์ชั่นใช้สำหรับเขียนเนื้อหาลงในไฟล์ วิธีการสร้างและเขียนไฟล์ข้อความสามบรรทัดคือการใช้ คุณ บรรจุุภัณฑ์.

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
-

ฟังก์ชั่น หลัก - -

//เปิดไฟล์เพื่อเขียน
- ผิดพลาด1 - คุณ - สร้าง - 'รายการ.txt' -
//ตรวจสอบข้อผิดพลาดในการสร้างไฟล์
ถ้า ผิดพลาด1 - ไม่มี -
//เขียนลงในไฟล์
- - ผิดพลาด2 - - WriteString - 'ปากกา \n ดินสอ \n ไม้บรรทัด \n - -
//ตรวจสอบข้อผิดพลาดในการเขียนไฟล์
ถ้า ผิดพลาด2 - ไม่มี -
เอฟเอ็มที - พิมพ์ln - 'เกิดข้อผิดพลาดในการเขียนไฟล์ \n - -
-
- อื่น -
เอฟเอ็มที - พิมพ์ln - “เกิดข้อผิดพลาดในการสร้างไฟล์ \n - -
-
//ปิดไฟล์
เลื่อนออกไป - ปิด -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลลัพธ์แสดงว่าไฟล์ items.txt ถูกสร้างขึ้นสำเร็จแล้ว

  หน้า 24

ไปที่ด้านบน

Golang ตรวจสอบว่ามีไฟล์อยู่หรือไม่

ที่ คุณ แพ็คเกจของ Golang สามารถใช้ตรวจสอบการมีอยู่ของไฟล์ได้ ในสคริปต์ต่อไปนี้ เส้นทางของไฟล์จะถูกนำมาจากสคริปต์ หากไม่มีเส้นทางอยู่ ฟังก์ชัน os.State() จะส่งกลับค่า ระบบปฏิบัติการErrNotExist ข้อผิดพลาด.

บรรจุุภัณฑ์ หลัก
//นำเข้าโมดูลที่จำเป็น
นำเข้า -
'ข้อผิดพลาด'
'เอฟเอ็มที'
'คุณ'
-

ฟังก์ชั่น หลัก - -
เคยเป็น เส้นทางไฟล์ เชือก
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนชื่อไฟล์ที่มีอยู่:' -
//รับเส้นทางไฟล์จากผู้ใช้
เอฟเอ็มที - สแกน - - เส้นทางไฟล์ -
//ตรวจสอบเส้นทางของไฟล์
- - ข้อผิดพลาด - คุณ - สถิติ - เส้นทางไฟล์ -

//ตรวจสอบผลลัพธ์ของ os.Stat
ถ้า - ข้อผิดพลาด - เป็น - ข้อผิดพลาด - คุณ - ข้อผิดพลาดไม่มีอยู่ - -
เอฟเอ็มที - พิมพ์ln - 'พบไฟล์แล้ว' -
- อื่น -
เอฟเอ็มที - พิมพ์ln - 'ไม่พบไฟล์' -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 25

ไปที่ด้านบน


โกลัน ซีเอสวี

ที่ “การเข้ารหัส/CSV” package ใช้ใน Golang เพื่ออ่านเนื้อหาของไฟล์ CSV ที่ csv.NewReader() ฟังก์ชั่นใช้ในการอ่านไฟล์ CSV สร้างไฟล์ CSV ก่อนที่จะรันสคริปต์ของตัวอย่างนี้ นี่. ลูกค้า.csv มีการใช้ไฟล์เพื่อแสดงวิธีการอ่านไฟล์ CSV

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'การเข้ารหัส/CSV'
'เอฟเอ็มที'
'คุณ'
-

ฟังก์ชั่น หลัก - -
//เปิดไฟล์ CSV เพื่ออ่าน
- ผิดพลาด - คุณ - เปิด - 'customers.csv' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
- อื่น -
//สร้างวัตถุเพื่ออ่านไฟล์ CSV
เครื่องสแกน - CSV - ใหม่Reader - -
//อ่านบันทึกทั้งหมดของไฟล์ CSV
บันทึก - - - เครื่องสแกน - อ่านทั้งหมด -
//อ่านไฟล์ CSV ทีละบรรทัด
สำหรับ - - - พิสัย บันทึก -
สำหรับ - - - พิสัย -
เอฟเอ็มที - พิมพ์ฟ - '%s' - -
-
เอฟเอ็มที - พิมพ์ln -
-
-
//ปิดไฟล์
เลื่อนออกไป - ปิด -
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 26

ไปที่ด้านบน


โกลัง ยัมล์

ที่ yaml.จอมพล() ฟังก์ชั่นใช้ใน Golang เพื่ออ่านเนื้อหาของข้อมูล yaml คุณต้องดาวน์โหลดไฟล์ yaml แพ็คเกจการใช้งาน yaml.จอมพล() - ไปที่โฮมไดเร็กตอรี่แล้วรันคำสั่งต่อไปนี้เพื่อดาวน์โหลด yaml บรรจุุภัณฑ์.

- ไปรับ - href - 'http://gopkg.in/yaml.v2' - gopkg.in - yaml.v2 - -

ในสคริปต์ต่อไปนี้ มีการประกาศตัวแปรโครงสร้างขององค์ประกอบสี่องค์ประกอบซึ่งถูกนำมาใช้ในภายหลังเพื่อกำหนดวัตถุ yaml ด้วยข้อมูล ถัดไป ฟังก์ชัน yaml.Marshal() ถูกใช้เพื่อเข้าถึงข้อมูล yaml

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'gopkg.in/yaml.v2'
-

//ประกาศโครงสร้าง 4 องค์ประกอบ
พิมพ์ หนังสือ โครงสร้าง -
ชื่อ เชือก
ผู้เขียน เชือก
สิ่งตีพิมพ์ เชือก
ราคา เชือก
-

ฟังก์ชั่น หลัก - -

//สร้างวัตถุของโครงสร้าง
เล่ม 1 - หนังสือ -
ชื่อ - 'การเรียนรู้ไป' -
ผู้เขียน - “จอห์น บอดเนอร์” -
สิ่งตีพิมพ์ - “โอเรลลี่” -
ราคา - '$39' -
-

//อ่านข้อมูล yaml ตามโครงสร้าง
y_data - ผิดพลาด - yaml - มาร์แชล - &จอง1 -

//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
//พิมพ์ข้อมูล yaml
เอฟเอ็มที - พิมพ์ln - เชือก - y_data -
- อื่น -
เอฟเอ็มที - พิมพ์ฟ - 'เกิดข้อผิดพลาดขณะ Marshaling %v' - ผิดพลาด -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 27

ไปที่ด้านบน


คำขอ Golang http

ที่ เน็ต/http แพ็คเกจของ Golang ใช้เพื่อส่งคำขอ http ไปยังเว็บไซต์ ฟังก์ชัน http.Get() ใช้ในการส่งคำขอ ส่งคืนการตอบกลับจากไซต์หรือข้อความแสดงข้อผิดพลาด วิธีการส่งคำขอ http ไปยังเว็บไซต์ https://example.com ได้รับการแสดงในสคริปต์ต่อไปนี้

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เน็ต/http'
-

ฟังก์ชั่น หลัก - -
//ส่งคำขอ GET ไปยังเว็บไซต์
ความละเอียด - ผิดพลาด - http - รับ - 'https://example.com' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
// พิมพ์คำตอบที่ส่งมาจากเว็บไซต์
เอฟเอ็มที - พิมพ์ln - ความละเอียด -
- อื่น -
//พิมพ์ข้อความแสดงข้อผิดพลาด
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 28

ไปที่ด้านบน


อาร์กิวเมนต์บรรทัดคำสั่ง Golang

ค่าที่ถูกส่งผ่านในขณะที่เรียกใช้สคริปต์เรียกว่าค่าอาร์กิวเมนต์บรรทัดคำสั่ง แพ็คเกจระบบปฏิบัติการใช้เพื่ออ่านค่าอาร์กิวเมนต์บรรทัดคำสั่งใน Golang ค่าอาร์กิวเมนต์จะถูกเก็บไว้ในอาร์เรย์ Args[] มีการใช้ for loop ที่มีช่วงในสคริปต์เพื่อพิมพ์ค่าอาร์กิวเมนต์โดยไม่มีชื่อสคริปต์ในแต่ละบรรทัด

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
-

ฟังก์ชั่น หลัก - -

เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์กิวเมนต์ทั้งหมดคือ:' -
//พิมพ์ค่าอาร์กิวเมนต์ทั้งหมดด้วยชื่อสคริปต์
เอฟเอ็มที - พิมพ์ln - คุณ - อาร์กส์ -

เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์กิวเมนต์:' -
//พิมพ์ค่าอาร์กิวเมนต์ทั้งหมดโดยไม่มีชื่อสคริปต์
สำหรับ ใน - - - พิสัย คุณ - อาร์กส์ -
ถ้า ใน - 0 -
ดำเนินการต่อ
-
เอฟเอ็มที - พิมพ์ln - คุณ - อาร์กส์ - ใน -
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 29

ไปที่ด้านบน


การจัดการข้อผิดพลาด Golang

Golang ไม่มีบล็อก try-catch เหมือนภาษาโปรแกรมอื่นๆ อย่างไรก็ตาม ข้อผิดพลาด สามารถใช้แพ็คเกจใน Golang เพื่อจัดการข้อผิดพลาดในสคริปต์ ในสคริปต์ต่อไปนี้ หมายเลขจำนวนเต็มจะถูกพรากไปจากผู้ใช้ หากผู้ใช้รับจำนวนลบ ข้อความแสดงข้อผิดพลาดจะถูกพิมพ์ออกมา ที่ ข้อผิดพลาดใหม่() มีการใช้ฟังก์ชันที่นี่เพื่อสร้างข้อความแสดงข้อผิดพลาด

บรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'ข้อผิดพลาด'
'เอฟเอ็มที'
-

ฟังก์ชั่น หลัก - -

เคยเป็น n ภายใน
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
เอฟเอ็มที - สแกน - - n -

//ตรวจสอบค่าอินพุต
ผลลัพธ์ - ผิดพลาด - เชิงบวก - n -

//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
- อื่น -
เอฟเอ็มที - พิมพ์ฟ - '%d %s \n - - n - ผลลัพธ์ -
-
-

///กำหนดฟังก์ชันเพื่อตรวจสอบจำนวนบวก
ฟังก์ชั่น เชิงบวก - หนึ่ง ภายใน - - เชือก - ข้อผิดพลาด - -
ถ้า หมายเลข < 0 -
กลับ - - ข้อผิดพลาด - ใหม่ - 'พิมพ์จำนวนบวก' -
- อื่น -
กลับ 'ตัวเลขเป็นบวก' - ไม่มี
-
-

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์

  หน้า 30

ไปที่ด้านบน

บทสรุป:

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