9
ฟังก์ชัน init () ทำงานเมื่อใด
ฉันพยายามค้นหาคำอธิบายที่แม่นยำเกี่ยวกับสิ่งที่init()ฟังก์ชั่นทำใน Go ฉันอ่านสิ่งที่Effective Goพูด แต่ฉันไม่แน่ใจถ้าฉันเข้าใจอย่างเต็มที่ในสิ่งที่พูด ประโยคที่แน่นอนที่ฉันไม่แน่ใจคือต่อไปนี้: และในที่สุดก็หมายความว่าในที่สุด: init ถูกเรียกหลังจากการประกาศตัวแปรทั้งหมดในแพ็คเกจได้ประเมินค่า initializers ของพวกเขาและสิ่งเหล่านั้นจะได้รับการประเมินหลังจากแพคเกจที่นำเข้าทั้งหมดได้รับการเริ่มต้น อะไรall the variable declarations in the package have evaluated their initializersหมายถึง? หมายความว่าหากคุณประกาศตัวแปร "ทั่วโลก" ในแพ็คเกจและไฟล์ของ init () จะไม่ทำงานจนกว่าจะได้รับการประเมินทั้งหมดและจากนั้นจะเรียกใช้ฟังก์ชัน init ทั้งหมดแล้วตามด้วย main () เมื่อเรียกใช้ไฟล์. main_file_name ฉันยังอ่านหนังสือ Go Mark's Summer ต่อไปนี้: หากแพ็กเกจมีฟังก์ชัน init () หนึ่งรายการหรือมากกว่านั้นจะถูกดำเนินการโดยอัตโนมัติก่อนที่จะเรียกใช้ฟังก์ชัน main () ของแพ็คเกจหลัก ในความเข้าใจของฉันinit()มีความเกี่ยวข้องเฉพาะเมื่อคุณตั้งใจจะรัน main () ใช่ไหม …