Golang ซึ่งเรียกอีกอย่างว่าภาษาการเขียนโปรแกรม Go เป็นภาษาโปรแกรมโอเพ่นซอร์สที่ออกแบบโดย Google ในปี 2550 ภาษานี้เวอร์ชัน 1.0 เปิดตัวในปี 2555 เป็นภาษาโปรแกรมที่มีโครงสร้างเช่น C และแอปพลิเคชันประเภทต่าง ๆ เช่นบริการเครือข่ายคลาวด์ แอปพลิเคชัน เว็บแอปพลิเคชัน ฯลฯ สามารถพัฒนาได้ด้วยภาษา Golang ประกอบด้วยแพ็คเกจหลายประเภทเช่น Python เรียนรู้ได้ง่ายมาก ซึ่งทำให้ภาษานี้เป็นที่นิยมสำหรับโปรแกรมเมอร์หน้าใหม่ มีการอธิบายตัวอย่างการเขียนโปรแกรม Golang 30 ตัวอย่างในบทช่วยสอนนี้เพื่อเรียนรู้ Golang จากพื้นฐาน
ข้อกำหนดเบื้องต้น:
Golang ได้รับการสนับสนุนโดยระบบปฏิบัติการประเภทต่างๆ วิธีการติดตั้ง Golang บน Ubuntu ได้แสดงไว้ในส่วนนี้ของบทช่วยสอน รันคำสั่งต่อไปนี้เพื่ออัปเดตระบบและติดตั้ง Golang บนระบบก่อนฝึกตัวอย่างในบทช่วยสอนนี้
- ซูโดะ ปรับปรุงฉลาด
- ซูโดะ ฉลาด ติดตั้ง เติบโตไป
รันคำสั่งต่อไปนี้เพื่อตรวจสอบเวอร์ชันที่ติดตั้งของ Golang
- ไปเวอร์ชัน
- สวัสดี สวัสดีชาวโลก
- ตัวแปรสตริง Golang
- Golang int เป็นสตริง
- Golang สตริงเข้า ที
- การต่อสตริง Golang
- สตริงหลายบรรทัด Golang
- สตริงแยก Golang
- โกลัง สปรินต์
- โกลัง อีนัม
- โครงสร้างโกลัง
- อาร์เรย์โกลาน
- ชุดโกลัง
- Golang สำหรับวง
- Golang สำหรับช่วง
- Golang ในขณะที่วนซ้ำ
- โกแลงต่อเลย
- เคสสวิตช์ Golang
- โกลัง เลขสุ่ม
- โกลังนอนหลับ
- เวลาทอง
- โกลัง อุอิด
- Golang อ่านไฟล์
- Golang อ่านไฟล์ทีละบรรทัด
- Golang เขียนลงไฟล์
- Golang ตรวจสอบว่ามีไฟล์อยู่หรือไม่
- โกลัน ซีเอสวี
- โกลัง ยัมล์
- คำขอ Golang http
- อาร์กิวเมนต์บรรทัดคำสั่ง Golang
- การจัดการข้อผิดพลาด Golang
สวัสดี สวัสดีชาวโลก
ที่ หลัก แพ็คเกจของ Golang มีแพ็คเกจที่จำเป็นทั้งหมดสำหรับการเขียนโปรแกรม Golang และจำเป็นเพื่อเริ่มการทำงานของสคริปต์ Golang ที่ เอฟเอ็มที จำเป็นต้องนำเข้าแพ็คเกจเพื่อพิมพ์สตริงที่จัดรูปแบบในเทอร์มินัล สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ ค่าสตริง 'Hello World' จะถูกพิมพ์ในเทอร์มินัลหลังจากรันสคริปต์
//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'
//กำหนดฟังก์ชั่น main() เพื่อเริ่มการทำงาน
ฟังก์ชั่น หลัก - -
//พิมพ์ข้อความธรรมดาด้วยการขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ln - 'สวัสดีชาวโลก.' -
-
รันคำสั่งต่อไปนี้เพื่อรันสคริปต์ ที่นี่ สคริปต์ได้รับการบันทึกไว้ใน example1, go file
- ไปรัน example1.goรันคำสั่งต่อไปนี้เพื่อสร้างไฟล์ไบนารีของไฟล์ Golang
- ไปสร้าง example1.go
เรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้ไฟล์ปฏิบัติการ
- - - ตัวอย่างที่ 1ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากดำเนินการคำสั่งข้างต้น ,,
ตัวแปรสตริง Golang
ตัวแปรสตริงสามารถใช้งานได้โดยไม่ต้องกำหนดประเภทข้อมูลและใช้กับประเภทข้อมูลใน Golang สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะพิมพ์ข้อมูลสตริงแบบง่ายและข้อมูลสตริงด้วยตัวแปรสตริง การใช้งานของ พิมพ์f() และ พิมพ์อิน() ฟังก์ชั่นได้รับการแสดงในสคริปต์
บรรจุุภัณฑ์ หลัก//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'
//กำหนดฟังก์ชัน main()
ฟังก์ชั่น หลัก - -
//พิมพ์ค่าสตริงขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ฟ - 'เรียนรู้ Golang จาก LinuxHint.com \n - -
//กำหนดตัวแปรสตริงแรก
เคยเป็น str1 - 'การเขียนโปรแกรมโกลัง'
//พิมพ์ตัวแปรโดยไม่ต้องขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ฟ - 'เรียนรู้ %s' - str1 -
//กำหนดตัวแปรสตริงที่สอง
เคยเป็น str2 - 'ง่ายต่อการเรียนรู้'
//พิมพ์ตัวแปรด้วยการขึ้นบรรทัดใหม่
เอฟเอ็มที - พิมพ์ln - 'มันคือ' - str2 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ข้างต้น ผลลัพธ์ของสตริงที่ต่อกันทั้งสองจะถูกพิมพ์ที่นี่
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”.
สตริง Golang เป็น int
ที่ strconv.อาโตอิ() ฟังก์ชั่นใช้ในการแปลงสตริงให้เป็นจำนวนเต็มใน Golang ใช้ค่าสตริงที่จะถูกแปลงเป็นจำนวนเต็มและส่งกลับค่าสองประเภท ค่าหนึ่งคือจำนวนเต็มหากการสนทนาสำเร็จ และค่าอื่นคือข้อผิดพลาดหากการสนทนาไม่สำเร็จ ไม่มี ค่าจะถูกส่งกลับ สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะแปลงค่าสตริงจำนวนหนึ่งให้เป็นจำนวนเต็มโดยใช้ strconv.อาโตอิ() การทำงาน. ค่าสตริง “342” จะถูกแปลงเป็นตัวเลข 342 และพิมพ์ออกมาหลังการดำเนินการ
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt และ strconv
นำเข้า -
'เอฟเอ็มที'
'strconv'
-
//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรสตริง
STR - '342'
//แปลงสตริงเป็นจำนวนเต็มโดยใช้ฟังก์ชัน Atoi()
ราคา - ผิดพลาด - strconv - รถพ่วง - STR -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
//พิมพ์ค่าที่แปลงแล้ว
เอฟเอ็มที - พิมพ์ฟ - 'ราคาของหนังสือคือ %d \n - - ราคา -
- อื่น -
//พิมพ์ข้อความแสดงข้อผิดพลาด
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าสตริง “342” ถูกแปลงเป็น 342 ที่นี่
การต่อสตริง Golang
สร้างไฟล์ Golang ด้วยสคริปต์ต่อไปนี้ซึ่งจะเชื่อมสตริงเข้ากับตัวดำเนินการ '+' โดยใช้ฟังก์ชัน Printf() มีการใช้ฟังก์ชัน Println() ที่นี่เพื่อพิมพ์ค่าสตริงที่ต่อกันโดยใช้ตัวดำเนินการ '+' และฟังก์ชัน Printf() ถูกใช้ที่นี่เพื่อพิมพ์ค่าสตริงที่ต่อกันโดยใช้ตัวระบุ '%s' มีการประกาศตัวแปรสตริงสองตัวในสคริปต์ซึ่งจะต่อกันในภายหลัง
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
//นำเข้าแพ็คเกจ fmt เพื่อพิมพ์ผลลัพธ์
นำเข้า 'เอฟเอ็มที'
//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรสตริงสองตัว
เคยเป็น str1 - str2 เชือก
//กำหนดค่าสตริง
str1 - “โกลัน”
str2 - 'การเขียนโปรแกรม'
//เชื่อมสตริงโดยใช้ตัวดำเนินการ '+'
เอฟเอ็มที - พิมพ์ln - 'ค่าสตริงที่ต่อกันโดยใช้ตัวดำเนินการ '+':' - str1 - str2 -
//เชื่อมสตริงโดยใช้ตัวระบุ '%s'
เอฟเอ็มที - พิมพ์ฟ - 'ต่อค่าสตริงโดยใช้ตัวระบุรูปแบบ: %s%s \n - - str1 - str2 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
สตริงหลายบรรทัด 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 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลลัพธ์ของตัวแปรสตริงทั้งสามที่มีค่าสตริงหลายบรรทัดได้ถูกพิมพ์ที่นี่
สตริงแยก Golang
ฟังก์ชัน strings.Split() ถูกใช้เพื่อแยกข้อมูลสตริงตามตัวคั่น สคริปต์ต่อไปนี้จะนำค่าสตริงจากผู้ใช้และแบ่งค่าสตริงตามเครื่องหมายทวิภาค (:) จำนวนค่าการแยกทั้งหมดและค่าการแยกสองค่าแรกจะถูกพิมพ์หลังการดำเนินการ
บรรจุุภัณฑ์ หลัก//นำเข้าแพ็คเกจ fmt และ strings
นำเข้า -
'เอฟเอ็มที'
'สาย'
-
//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรสตริง
เคยเป็น STR เชือก
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'กรอกสตริงด้วยโคลอน(:)-' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - STR -
//กำหนดตัวคั่น
ตัวคั่น - -
//แยกค่าสตริง
split_value - สตริง - แยก - STR - ตัวคั่น -
//นับจำนวนค่าที่แยก
ความยาว - เท่านั้น - split_value -
//พิมพ์จำนวนค่าที่แยก
เอฟเอ็มที - พิมพ์ฟ - 'จำนวนค่าการแยกทั้งหมดคือ %d \n - - ความยาว -
// พิมพ์ค่าการแยก
เอฟเอ็มที - พิมพ์ln - 'ค่าแยกแรกคือ' - split_value - 0 -
เอฟเอ็มที - พิมพ์ln - 'ค่าแบ่งที่สองคือ' - split_value - 1 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าอินพุต “golang:google” ถูกแบ่งออกเป็นสองส่วนตามเครื่องหมายทวิภาค (:)
โกลัง สปรินต์
ฟังก์ชัน Sprintf() ใช้ใน Golang เพื่อจัดเก็บค่าสตริงที่จัดรูปแบบไว้ในตัวแปรเหมือนกับภาษาโปรแกรมมาตรฐานอื่นๆ มีการประกาศสตริงและตัวแปรจำนวนเต็มในสคริปต์ต่อไปนี้ ค่าของตัวแปรเหล่านี้ได้รับการจัดรูปแบบและจัดเก็บไว้ในตัวแปรโดยใช้ฟังก์ชัน Sprintf()
บรรจุุภัณฑ์ หลัก//นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
//กำหนดฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรสองตัว
เคยเป็น STR เชือก
เคยเป็น หนึ่ง ภายใน
//กำหนดค่าสตริง
STR - 'โกลัน'
//กำหนดค่าตัวเลข
หนึ่ง - 2555
//เก็บค่าสตริงที่รวมกันไว้ในตัวแปร
รวม_str - เอฟเอ็มที - สปรินต์ - 'เวอร์ชันแรกของ %s เปิดตัวใน %d' - STR - หนึ่ง -
//พิมพ์ตัวแปร
เอฟเอ็มที - พิมพ์ฟ - 'ผลลัพธ์ของ Sprintf(): \n %s \n - - รวม_str -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
โกลัง อีนัม
การแจกแจงหรือตัวแจงนับถูกนำมาใช้ใน Golang เพื่อประกาศประเภทข้อมูลของกลุ่มของค่าคงที่ที่เกี่ยวข้อง การประกาศประเภท enum ใน Golang นั้นแตกต่างจากภาษาโปรแกรมอื่น มีการประกาศประเภทแจงนับ 12 ค่าแล้ว และค่าตัวเลขของค่าแจงนับเฉพาะได้รับการพิมพ์ในภายหลัง
บรรจุุภัณฑ์ หลัก//นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
//ประกาศประเภทเก็บค่าเดือนเป็นตัวเลข (1-12)
พิมพ์ เดือน ภายใน
//ประกาศค่าคงที่ของแต่ละเดือนโดยเริ่มจาก 1
ค่าคงที่ -
เดือน ม.ค - ส่วนน้อย - 1
ก.พ
มี.ค
เม.ย
อาจ
มิ.ย
ก.ค
ส.ค
ก.ย
ต.ค
พ.ย
ธ.ค
-
//ประกาศฟังก์ชันหลัก
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรด้วยค่าเดือน
เคยเป็น M_num - อาจ
//พิมพ์ค่าตัวเลขที่สอดคล้องกันของเดือน
เอฟเอ็มที - พิมพ์ln - “ค่าเดือนเป็นตัวเลขคือ” - M_num -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ค่าตัวเลขที่สอดคล้องกันของเดือนพฤษภาคมคือ 5
โครงสร้างโกลัง
โครงสร้างหรือโครงสร้างใช้ใน Golang เพื่อประกาศประเภทที่มีตัวแปรประเภทต่างๆ มีประโยชน์สำหรับการจัดเก็บข้อมูลแบบตารางหรือหลายระเบียน ในสคริปต์ต่อไปนี้ มีการประกาศตัวแปรโครงสร้างขององค์ประกอบทั้งสี่ ถัดไป มีการเพิ่มสองเรกคอร์ดโดยใช้ตัวแปร struct ที่กำหนดไว้ วิธีการพิมพ์ค่าของโครงสร้างในรูปแบบต่างๆ ได้แสดงไว้ในส่วนสุดท้ายของสคริปต์
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
//กำหนดโครงสร้างขององค์ประกอบทั้งสี่
พิมพ์ ผลิตภัณฑ์ โครงสร้าง -
รหัส เชือก
ชื่อ เชือก
ขนาด เชือก
ราคา ภายใน
-
ฟังก์ชั่น หลัก - -
//ประกาศตัวแปรโครงสร้างตัวแรก
สินค้า1 - ผลิตภัณฑ์ - 'p-1209' - 'ฮาร์ดดิส' - '5TB' - 80 -
//ประกาศตัวแปรโครงสร้างที่สอง
สินค้า2 - ผลิตภัณฑ์ - 'พี-7342' - 'หนู' - - - สิบห้า -
//พิมพ์ตัวแปรโครงสร้าง
เอฟเอ็มที - พิมพ์ln - 'ผลิตภัณฑ์แรก:' - สินค้า1 -
เอฟเอ็มที - พิมพ์ln - 'ผลิตภัณฑ์ที่สอง:' - สินค้า2 -
//พิมพ์ค่าสี่ค่าของตัวแปรโครงสร้างแรกแยกกัน
เอฟเอ็มที - พิมพ์ln - 'รายละเอียดสินค้าตัวแรก:' -
เอฟเอ็มที - พิมพ์ln - 'ไอดี:' - สินค้า1 - รหัส -
เอฟเอ็มที - พิมพ์ln - 'ชื่อ: ' - สินค้า1 - ชื่อ -
เอฟเอ็มที - พิมพ์ln - 'ขนาด: ' - สินค้า1 - ขนาด -
เอฟเอ็มที - พิมพ์ln - 'ราคา: ' - สินค้า1 - ราคา -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
อาร์เรย์โกลาน
ตัวแปรอาร์เรย์ใช้ใน 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 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
ชุดโกลัง
ชุดนี้เป็นอีกโครงสร้างข้อมูลของ Golang เพื่อจัดเก็บชุดของค่าที่แตกต่างกัน มันถูกใช้เพื่อเก็บค่าที่ไม่ซ้ำในวัตถุ Golang ไม่มีโครงสร้างข้อมูลชุดในตัวเหมือนกับภาษาการเขียนโปรแกรมอื่นๆ แต่คุณลักษณะนี้สามารถใช้งานได้โดยใช้โครงสร้างว่าง{} และแผนที่ ในสคริปต์ต่อไปนี้ มีการประกาศตัวแปรชุดของสตริงโดยใช้แผนที่ที่มีโครงสร้างว่าง ถัดไป มีการเพิ่มค่าสามค่า ค่าหนึ่งถูกลบไปแล้ว และค่าหนึ่งถูกเพิ่มอีกครั้งในชุด ค่าของชุดได้รับการพิมพ์พร้อมกันและแยกกัน
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
ฟังก์ชั่น หลัก - -
//กำหนดชุดของสตริง
แค่ - แผนที่ - เชือก - โครงสร้าง -
//แทรกสามองค์ประกอบลงในชุดโดยใช้โครงสร้างว่าง
แค่ - 'ไป' - - โครงสร้าง -
แค่ - 'ทุบตี' - - โครงสร้าง -
แค่ - 'หลาม' - - โครงสร้าง -
//พิมพ์องค์ประกอบที่มีอยู่ในปัจจุบันของชุด
เอฟเอ็มที - พิมพ์ln - แค่ -
//ลบองค์ประกอบออกจากชุด
ลบ - แค่ - 'หลาม' -
//เพิ่มองค์ประกอบใหม่ให้กับชุด
แค่ - 'ชวา' - - โครงสร้าง -
//พิมพ์ค่าที่ตั้งไว้หลังจากลบและเพิ่มองค์ประกอบ
เอฟเอ็มที - พิมพ์ln - แค่ -
เอฟเอ็มที - พิมพ์ฟ - - \n ค่าที่ตั้งไว้คือ: \n - -
//พิมพ์แต่ละองค์ประกอบของชุดแยกกัน
สำหรับ ล - พิสัย แค่ -
เอฟเอ็มที - พิมพ์ln - ล -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
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
Golang สำหรับช่วง
ช่วงนี้ใช้กับ for loop ใน Golang เพื่อเข้าถึงสตริง อาร์เรย์ และแมป วิธีการเข้าถึงอาร์เรย์ของสตริงโดยใช้ for loop พร้อม range ได้แสดงไว้ในสคริปต์ต่อไปนี้ for loop อันแรกจะพิมพ์ค่าอาร์เรย์เท่านั้น และ for loop อันที่สองจะพิมพ์ดัชนีและค่าของอาร์เรย์
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
ฟังก์ชั่น หลัก - -
//ประกาศอาร์เรย์ของสตริง
ดอกไม้ - - 4 - เชือก - 'ดอกกุหลาบ' - 'ลิลลี่' - “ดาเลีย” - “ดอกทานตะวัน” -
เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์เรย์คือ:' -
//พิมพ์ค่าอาร์เรย์
สำหรับ - - วาล - พิสัย ดอกไม้ -
เอฟเอ็มที - พิมพ์ln - วาล -
-
เอฟเอ็มที - พิมพ์ln - 'ดัชนีและค่าอาร์เรย์คือ:' -
//พิมพ์ค่าอาร์เรย์ตามดัชนี
สำหรับ ใน - วาล - พิสัย ดอกไม้ -
เอฟเอ็มที - พิมพ์ฟ - '%d := %s \n - - ใน - 1 - วาล -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
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
โกแลงต่อเลย
คำสั่ง Continue ถูกใช้ในวงใดๆ เพื่อละเว้นคำสั่งเฉพาะตามเงื่อนไข ในสคริปต์ต่อไปนี้ for loop ถูกใช้เพื่อวนซ้ำลูปที่จะข้ามค่าของค่าที่ 2 และค่าที่สี่ของอาร์เรย์โดยใช้คำสั่ง Continue
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจ fmt
นำเข้า 'เอฟเอ็มที'
ฟังก์ชั่น หลัก - -
เคาน์เตอร์ - 1
ผลรวม - 0 - 0
เคยเป็น ตัวเลข ลอย64
สำหรับ เคาน์เตอร์ < - 4 -
//พิมพ์ข้อความแจ้ง
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
//รับข้อมูลจากผู้ใช้
เอฟเอ็มที - สแกน - - ตัวเลข -
//เพิ่มหมายเลขอินพุตด้วยตัวแปรผลรวม
ผลรวม - ผลรวม - ตัวเลข
//เพิ่มตัวนับขึ้น 1
เคาน์เตอร์ -
-
//พิมพ์ผลการสรุป
เอฟเอ็มที - พิมพ์ฟ - 'ผลรวมของค่าอินพุตสี่ค่าคือ %0.2f \n - - ผลรวม -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
เคสสวิตช์ 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 - 'ค่าเดือนอยู่นอกช่วง' -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
โกลัง เลขสุ่ม
มีการใช้แพ็คเกจคณิตศาสตร์/แรนด์ใน Golang เพื่อสร้างตัวเลขสุ่ม วิธีการสร้างตัวเลขสุ่มสี่ประเภทแสดงไว้ในสคริปต์ต่อไปนี้ ฟังก์ชัน rand.Int() ใช้เพื่อสร้างตัวเลขสุ่มจำนวนเต็มยาว ฟังก์ชัน rand.Intn(n) ใช้เพื่อสร้างตัวเลขสุ่มจำนวนเต็มของช่วงนั้น ๆ และค่าสูงสุดจะถูกส่งผ่านเป็นค่าอาร์กิวเมนต์ของฟังก์ชัน 999 ถูกตั้งค่าเป็นค่าอาร์กิวเมนต์ในสคริปต์ ฟังก์ชัน rand.Float32() ใช้เพื่อสร้างตัวเลขสุ่มเศษส่วนแบบสั้น และฟังก์ชัน rand.Float64() ใช้เพื่อสร้างตัวเลขสุ่มเศษส่วนแบบยาว
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
//นำเข้าโมดูลที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เวลา'
'คณิต/แรนด์'
-
ฟังก์ชั่น หลัก - -
//ตั้งค่า seed เพื่อสร้างตัวเลขสุ่ม
แรนด์ - เมล็ดพันธุ์ - เวลา - ตอนนี้ - - ยูนิกซ์นาโน -
//พิมพ์สร้างจำนวนเต็มแบบสุ่ม
เอฟเอ็มที - พิมพ์ln - 'ค่าจำนวนเต็มสุ่ม: ' - แรนด์ - นานาชาติ -
// พิมพ์จำนวนเต็มสุ่มภายใน 999
เอฟเอ็มที - พิมพ์ln - 'สุ่มค่าจำนวนเต็มพร้อมช่วง: ' - แรนด์ - นานาชาติ - 999 -
//พิมพ์โฟลตแบบสุ่ม 32 บิต
เอฟเอ็มที - พิมพ์ln - 'ค่าทศนิยมแบบสุ่ม 32 บิต:' - แรนด์ - ลอย32 -
// พิมพ์โฟลตแบบสุ่ม 64 บิต
เอฟเอ็มที - พิมพ์ln - 'ค่าทศนิยมแบบสุ่ม 64 บิต:' - แรนด์ - ลอย64 -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
โกลังนอนหลับ
ฟังก์ชัน time.Sleep() ใช้ใน Golang เพื่อหยุดการทำงานของสคริปต์ชั่วคราวในช่วงระยะเวลาหนึ่ง สคริปต์ต่อไปนี้จะคำนวณค่าเฉลี่ยของตัวเลขสามตัวและรอเป็นเวลา 3 วินาทีก่อนที่จะยุติสคริปต์
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เวลา'
-
ฟังก์ชั่น หลัก - -
เอฟเอ็มที - พิมพ์ln - 'เริ่มรันสคริปต์...' -
//กำหนดตัวแปร 3 ตัว
ก - 40
ข - 30
ค - 29
//พิมพ์ตัวแปร
เอฟเอ็มที - พิมพ์ฟ - “ตัวเลขสามตัวคือ : %d, %d, %d \n - - ก - ข - ค -
เอฟเอ็มที - พิมพ์ln - 'กำลังคำนวณค่าเฉลี่ยของตัวเลขสามตัว...' -
เฉลี่ย - - ก - ข - ค - - 3
//ดีเลย์เป็นเวลา 3 วินาที
เวลา - นอน - 3 - เวลา - ที่สอง -
//พิมพ์ผลลัพธ์
เอฟเอ็มที - พิมพ์ฟ - “ค่าเฉลี่ยคือ %d \n - - เฉลี่ย -
เอฟเอ็มที - พิมพ์ln - 'โปรแกรมสิ้นสุดแล้ว' -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
เวลาทอง
แพ็คเกจเวลาใช้ใน 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 - ผิดพลาด -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
Golang อ่านไฟล์
ที่ io/ioutil แพ็คเกจของ Golang ใช้เพื่ออ่านเนื้อหาของไฟล์ ฟังก์ชัน ReadFile() ของแพ็คเกจนี้จะอ่านเนื้อหาทั้งหมดของไฟล์ ฟังก์ชันนี้ส่งคืนเนื้อหาทั้งหมดของไฟล์ไปยังตัวแปรหากมีไฟล์อยู่ มิฉะนั้นข้อความแสดงข้อผิดพลาดจะถูกส่งกลับ วิธีการอ่านเนื้อหาทั้งหมดของไฟล์ข้อความที่มีอยู่ได้แสดงไว้ในสคริปต์ต่อไปนี้
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'io/ioutil'
'เอฟเอ็มที'
'บันทึก'
-
ฟังก์ชั่น หลัก - -
//อ่านไฟล์ข้อความ
ข้อความ - ผิดพลาด - ioutil - อ่านไฟล์ - 'ภาษา.txt' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ฟ - “เนื้อหาของไฟล์: \n \n - -
เอฟเอ็มที - พิมพ์ln - เชือก - ข้อความ -
- อื่น -
บันทึก - ฟาตาล์ฟ - 'ข้อผิดพลาดในการอ่านไฟล์: %v' - ผิดพลาด -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
Golang อ่านไฟล์ทีละบรรทัด
แพ็คเกจ “bufio” ของ Golang ใช้เพื่ออ่านเนื้อหาของไฟล์ทีละบรรทัด ในสคริปต์ต่อไปนี้ bufio.NewScanner() ถูกใช้เพื่อสร้างอ็อบเจ็กต์เพื่ออ่านไฟล์ จากนั้น ฟังก์ชัน Scan() จะถูกใช้กับลูปเพื่ออ่านและพิมพ์แต่ละบรรทัดของไฟล์
//เพิ่มแพ็คเกจหลักบรรจุุภัณฑ์ หลัก
// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
'บูฟิโอ'
-
ฟังก์ชั่น หลัก - -
//เปิดไฟล์ข้อความเพื่ออ่าน
ฉ - ผิดพลาด - คุณ - เปิด - 'ภาษา.txt' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
//สแกนเนื้อหาไฟล์
อ่าน - บูฟิโอ - ใหม่สแกนเนอร์ - ฉ -
//อ่านไฟล์ทีละบรรทัด
สำหรับ อ่าน - สแกน - -
เอฟเอ็มที - พิมพ์ln - อ่าน - ข้อความ -
-
- อื่น -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
//ปิดไฟล์
เลื่อนออกไป ฉ - ปิด -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
Golang เขียนลงไฟล์
ที่ คุณ แพ็คเกจของ Golang ใช้เปิดไฟล์สำหรับเขียนและ เขียนสตริง() ฟังก์ชั่นใช้สำหรับเขียนเนื้อหาลงในไฟล์ วิธีการสร้างและเขียนไฟล์ข้อความสามบรรทัดคือการใช้ คุณ บรรจุุภัณฑ์.
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
-
ฟังก์ชั่น หลัก - -
//เปิดไฟล์เพื่อเขียน
ฉ - ผิดพลาด1 - คุณ - สร้าง - 'รายการ.txt' -
//ตรวจสอบข้อผิดพลาดในการสร้างไฟล์
ถ้า ผิดพลาด1 - ไม่มี -
//เขียนลงในไฟล์
- - ผิดพลาด2 - ฉ - WriteString - 'ปากกา \n ดินสอ \n ไม้บรรทัด \n - -
//ตรวจสอบข้อผิดพลาดในการเขียนไฟล์
ถ้า ผิดพลาด2 - ไม่มี -
เอฟเอ็มที - พิมพ์ln - 'เกิดข้อผิดพลาดในการเขียนไฟล์ \n - -
-
- อื่น -
เอฟเอ็มที - พิมพ์ln - “เกิดข้อผิดพลาดในการสร้างไฟล์ \n - -
-
//ปิดไฟล์
เลื่อนออกไป ฉ - ปิด -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ ผลลัพธ์แสดงว่าไฟล์ items.txt ถูกสร้างขึ้นสำเร็จแล้ว
Golang ตรวจสอบว่ามีไฟล์อยู่หรือไม่
ที่ คุณ แพ็คเกจของ Golang สามารถใช้ตรวจสอบการมีอยู่ของไฟล์ได้ ในสคริปต์ต่อไปนี้ เส้นทางของไฟล์จะถูกนำมาจากสคริปต์ หากไม่มีเส้นทางอยู่ ฟังก์ชัน os.State() จะส่งกลับค่า ระบบปฏิบัติการErrNotExist ข้อผิดพลาด.
บรรจุุภัณฑ์ หลัก//นำเข้าโมดูลที่จำเป็น
นำเข้า -
'ข้อผิดพลาด'
'เอฟเอ็มที'
'คุณ'
-
ฟังก์ชั่น หลัก - -
เคยเป็น เส้นทางไฟล์ เชือก
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนชื่อไฟล์ที่มีอยู่:' -
//รับเส้นทางไฟล์จากผู้ใช้
เอฟเอ็มที - สแกน - - เส้นทางไฟล์ -
//ตรวจสอบเส้นทางของไฟล์
- - ข้อผิดพลาด - คุณ - สถิติ - เส้นทางไฟล์ -
//ตรวจสอบผลลัพธ์ของ os.Stat
ถ้า - ข้อผิดพลาด - เป็น - ข้อผิดพลาด - คุณ - ข้อผิดพลาดไม่มีอยู่ - -
เอฟเอ็มที - พิมพ์ln - 'พบไฟล์แล้ว' -
- อื่น -
เอฟเอ็มที - พิมพ์ln - 'ไม่พบไฟล์' -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
โกลัน ซีเอสวี
ที่ “การเข้ารหัส/CSV” package ใช้ใน Golang เพื่ออ่านเนื้อหาของไฟล์ CSV ที่ csv.NewReader() ฟังก์ชั่นใช้ในการอ่านไฟล์ CSV สร้างไฟล์ CSV ก่อนที่จะรันสคริปต์ของตัวอย่างนี้ นี่. ลูกค้า.csv มีการใช้ไฟล์เพื่อแสดงวิธีการอ่านไฟล์ CSV
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'การเข้ารหัส/CSV'
'เอฟเอ็มที'
'คุณ'
-
ฟังก์ชั่น หลัก - -
//เปิดไฟล์ CSV เพื่ออ่าน
ฉ - ผิดพลาด - คุณ - เปิด - 'customers.csv' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
- อื่น -
//สร้างวัตถุเพื่ออ่านไฟล์ CSV
เครื่องสแกน - CSV - ใหม่Reader - ฉ -
//อ่านบันทึกทั้งหมดของไฟล์ CSV
บันทึก - - - เครื่องสแกน - อ่านทั้งหมด -
//อ่านไฟล์ CSV ทีละบรรทัด
สำหรับ - - ร - พิสัย บันทึก -
สำหรับ - - ค - พิสัย ร -
เอฟเอ็มที - พิมพ์ฟ - '%s' - ค -
-
เอฟเอ็มที - พิมพ์ln -
-
-
//ปิดไฟล์
เลื่อนออกไป ฉ - ปิด -
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
โกลัง ยัมล์
ที่ 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' - ผิดพลาด -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
คำขอ Golang http
ที่ เน็ต/http แพ็คเกจของ Golang ใช้เพื่อส่งคำขอ http ไปยังเว็บไซต์ ฟังก์ชัน http.Get() ใช้ในการส่งคำขอ ส่งคืนการตอบกลับจากไซต์หรือข้อความแสดงข้อผิดพลาด วิธีการส่งคำขอ http ไปยังเว็บไซต์ https://example.com ได้รับการแสดงในสคริปต์ต่อไปนี้
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'เน็ต/http'
-
ฟังก์ชั่น หลัก - -
//ส่งคำขอ GET ไปยังเว็บไซต์
ความละเอียด - ผิดพลาด - http - รับ - 'https://example.com' -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
// พิมพ์คำตอบที่ส่งมาจากเว็บไซต์
เอฟเอ็มที - พิมพ์ln - ความละเอียด -
- อื่น -
//พิมพ์ข้อความแสดงข้อผิดพลาด
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
อาร์กิวเมนต์บรรทัดคำสั่ง Golang
ค่าที่ถูกส่งผ่านในขณะที่เรียกใช้สคริปต์เรียกว่าค่าอาร์กิวเมนต์บรรทัดคำสั่ง แพ็คเกจระบบปฏิบัติการใช้เพื่ออ่านค่าอาร์กิวเมนต์บรรทัดคำสั่งใน Golang ค่าอาร์กิวเมนต์จะถูกเก็บไว้ในอาร์เรย์ Args[] มีการใช้ for loop ที่มีช่วงในสคริปต์เพื่อพิมพ์ค่าอาร์กิวเมนต์โดยไม่มีชื่อสคริปต์ในแต่ละบรรทัด
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'เอฟเอ็มที'
'คุณ'
-
ฟังก์ชั่น หลัก - -
เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์กิวเมนต์ทั้งหมดคือ:' -
//พิมพ์ค่าอาร์กิวเมนต์ทั้งหมดด้วยชื่อสคริปต์
เอฟเอ็มที - พิมพ์ln - คุณ - อาร์กส์ -
เอฟเอ็มที - พิมพ์ln - 'ค่าอาร์กิวเมนต์:' -
//พิมพ์ค่าอาร์กิวเมนต์ทั้งหมดโดยไม่มีชื่อสคริปต์
สำหรับ ใน - - - พิสัย คุณ - อาร์กส์ -
ถ้า ใน - 0 -
ดำเนินการต่อ
-
เอฟเอ็มที - พิมพ์ln - คุณ - อาร์กส์ - ใน -
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
การจัดการข้อผิดพลาด Golang
Golang ไม่มีบล็อก try-catch เหมือนภาษาโปรแกรมอื่นๆ อย่างไรก็ตาม ข้อผิดพลาด สามารถใช้แพ็คเกจใน Golang เพื่อจัดการข้อผิดพลาดในสคริปต์ ในสคริปต์ต่อไปนี้ หมายเลขจำนวนเต็มจะถูกพรากไปจากผู้ใช้ หากผู้ใช้รับจำนวนลบ ข้อความแสดงข้อผิดพลาดจะถูกพิมพ์ออกมา ที่ ข้อผิดพลาดใหม่() มีการใช้ฟังก์ชันที่นี่เพื่อสร้างข้อความแสดงข้อผิดพลาด
บรรจุุภัณฑ์ หลัก// นำเข้าแพ็คเกจที่จำเป็น
นำเข้า -
'ข้อผิดพลาด'
'เอฟเอ็มที'
-
ฟังก์ชั่น หลัก - -
เคยเป็น n ภายใน
เอฟเอ็มที - พิมพ์ฟ - 'ป้อนหมายเลข:' -
เอฟเอ็มที - สแกน - - n -
//ตรวจสอบค่าอินพุต
ผลลัพธ์ - ผิดพลาด - เชิงบวก - n -
//ตรวจสอบข้อผิดพลาด
ถ้า ผิดพลาด - ไม่มี -
เอฟเอ็มที - พิมพ์ln - ผิดพลาด -
- อื่น -
เอฟเอ็มที - พิมพ์ฟ - '%d %s \n - - n - ผลลัพธ์ -
-
-
///กำหนดฟังก์ชันเพื่อตรวจสอบจำนวนบวก
ฟังก์ชั่น เชิงบวก - หนึ่ง ภายใน - - เชือก - ข้อผิดพลาด - -
ถ้า หมายเลข < 0 -
กลับ - - ข้อผิดพลาด - ใหม่ - 'พิมพ์จำนวนบวก' -
- อื่น -
กลับ 'ตัวเลขเป็นบวก' - ไม่มี
-
-
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์
บทสรุป:
Golang เป็นภาษาโปรแกรมยอดนิยมในปัจจุบันซึ่งมีแพ็คเกจที่มีประโยชน์มากมาย เช่น ภาษาโปรแกรม Python ผู้ใช้มือใหม่สามารถเรียนรู้ Golang เป็นภาษาเขียนโปรแกรมตัวแรกได้เพราะมันเรียนรู้ได้ง่ายมาก มีการอธิบายตัวอย่าง Golang พื้นฐาน 30 ตัวอย่างในบทช่วยสอนนี้เพื่อเรียนรู้ Golang ตั้งแต่เริ่มต้น และผู้เรียนจะสามารถเขียนโปรแกรมใน Golang ได้ ข้อจำกัดที่สำคัญประการหนึ่งของภาษานี้คือไม่มีคุณสมบัติของการเขียนโปรแกรมเชิงวัตถุ แต่เหมาะสำหรับการเรียนรู้การเขียนโปรแกรมเชิงโครงสร้าง