โครงสร้างและฟิลด์ที่ไม่ระบุชื่อในโกลัง

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

โครงสร้างและฟิลด์ที่ไม่ระบุชื่อในโกลัง

ตัวอย่างเช่น:

package main
import "fmt"

// struct học sinh với cấu trúc và trường ẩn danh
type Student struct {
    struct {    // Cấu trúc bên trong ẩn danh cho thông tin cá nhân
        name string
        enrollment int
    }
    GPA float64  // Trường chuẩn
}

func main() {
    student := Student{
        struct {
            name string
            enrollment int
        }{
            name: "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    fmt.Println("Name:", student.name)
    fmt.Println("Enrollment:", student.enrollment)
    fmt.Println("GPA:", student.GPA)
}

รูปแบบประโยค :

variable := struct {
    field1 dataType1
    field2 dataType2                                                          # Cấu trúc ẩn danh
    // Trường bổ sung khi cần
}{value1, value2}


type StructName struct {
    dataType1
    dataType2                                                                    # Trường ẩn danh                                        
    // Trường ẩn danh bổ sung
}

โครงสร้างที่ไม่ระบุชื่อใน Go

โครงสร้างที่ไม่ระบุชื่อใน Go ถูกกำหนดโดยไม่มีชื่อและมีประโยชน์ในการสร้างโครงสร้างแบบชั่วคราวและใช้แล้วทิ้ง ต่อไปนี้เป็นรูปแบบไวยากรณ์และตัวอย่างโค้ด

รูปแบบประโยค :

variable := struct {
    field1 dataType1
    field2 dataType2
    // Các trường bổ sung khi cần
}{value1, value2}

ตัวอย่างเช่น:

package main
import "fmt"
// Cấu trúc sinh viên với cấu trúc bên trong ẩn danh cho thông tin cá nhân
type Student struct {
    personalDetails struct { // Cấu trúc ẩn danh bên trong cho thông tin cá nhân
        name       string
        enrollment int
    }
    GPA float64 // Trường chuẩn
}
func main() {
    // Khởi tạo cấu trúc bên trong cho student
    student := Student{
        personalDetails: struct {
            name       string
            enrollment int
        }{
            name:       "A",
            enrollment: 12345,
        },
        GPA: 3.8,
    }
    // Hiện giá trị
    fmt.Println("Name:", student.personalDetails.name)
    fmt.Println("Enrollment:", student.personalDetails.enrollment)
    fmt.Println("GPA:", student.GPA)
}

ผลลัพธ์:

Name: A
Enrollment: 12345
GPA: 3.8

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

เขตข้อมูลที่ไม่ระบุชื่อ

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

ไวยากรณ์

type StructName struct {
    dataType1
    dataType2
    // Additional anonymous fields
}

ตัวอย่างเช่น:

package main
import "fmt"

// Cấu trúc học sinh bằng các trường ẩn danh
type Student struct {
    int     // Số đăng ký (trường ẩn danh)
    string  // Tên trường ẩn danh
    float64 // GPA (trường ẩn danh)
}

func main() {
    // Khởi tạo struct học sinh với các trường ẩn danh
    student := Student{12345, "A", 3.8}

    // Hiện giá trị
    fmt.Println("Enrollment:", student.int)
    fmt.Println("Name:", student.string)
    fmt.Println("GPA:", student.float64)
}

ผลลัพธ์:

Enrollment: 12345
Name: A
GPA: 3.8

ที่นี่ ประเภทข้อมูล ( int, string, float64 ) ทำหน้าที่เป็นชื่อฟิลด์ ดังนั้นการเข้าถึงค่าจึงขึ้นอยู่กับประเภท

ประเด็นสำคัญที่ต้องจำเกี่ยวกับฟิลด์ที่ไม่ระบุชื่อใน Golang

1. ข้อกำหนดเฉพาะ:คุณไม่สามารถใช้ฟิลด์สองฟิลด์ที่มีประเภทเดียวกันในโครงสร้างเดียวได้ ตัวอย่างเช่น:

type InvalidStudent struct {
    int
    int // Error: duplicate type
}

2. การรวมฟิลด์ที่มีชื่อและไม่ระบุชื่อ:คุณสามารถรวมฟิลด์ที่ไม่ระบุชื่อและที่มีชื่อในโครงสร้างได้

type Student struct {
    id int // Named field
    int    // Anonymous field
}
Sign up and earn $1000 a day ⋙

Leave a Comment

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

ใน Golang พารามิเตอร์การส่งคืนที่มีชื่อมักเรียกว่าพารามิเตอร์ที่มีชื่อ Golang อนุญาตให้ตั้งชื่อพารามิเตอร์ที่ส่งกลับหรือผลลัพธ์ของฟังก์ชันในลายเซ็นหรือคำจำกัดความของฟังก์ชัน

คีย์เวิร์ดใน Go

คีย์เวิร์ดใน Go

คำหลัก - คำหลักคือคำในภาษาที่ใช้สำหรับกระบวนการภายในบางอย่างหรือแสดงถึงการดำเนินการที่กำหนดไว้ล่วงหน้า นี่คือสิ่งที่คุณจำเป็นต้องทราบเกี่ยวกับคีย์เวิร์ดใน Golang

ประเภทข้อมูลใน Golang

ประเภทข้อมูลใน Golang

ประเภทข้อมูลระบุประเภทข้อมูลที่ตัวแปร Go ที่ถูกต้องสามารถมีได้ ในภาษา Go ประเภทจะถูกแบ่งออกเป็นสี่ประเภทดังต่อไปนี้:

อาร์กิวเมนต์ฟังก์ชันใน Golang

อาร์กิวเมนต์ฟังก์ชันใน Golang

Go รองรับสองวิธีหลักในการส่งอาร์กิวเมนต์: ส่งตามค่าและส่งตามการอ้างอิง Go จะใช้ค่า pass by ตามค่าเริ่มต้น

ฟังก์ชันส่งคืนค่าหลายค่าใน Golang

ฟังก์ชันส่งคืนค่าหลายค่าใน Golang

ในภาษา Go คุณได้รับอนุญาตให้ส่งคืนค่าหลายค่าจากฟังก์ชันโดยใช้คำสั่ง return กล่าวอีกนัยหนึ่ง ในฟังก์ชัน คำสั่ง return สามารถส่งคืนค่าได้หลายค่า

คำสั่ง Switch ใน Go

คำสั่ง Switch ใน Go

Golang เช่นเดียวกับภาษาการเขียนโปรแกรมอื่นๆ ส่วนใหญ่ก็มีคำสั่ง switch วิธีใช้คำสั่ง switch ใน Golang มีดังนี้

กรณีที่ควรทราบเมื่อใช้คำสั่งเลือกใน Golang

กรณีที่ควรทราบเมื่อใช้คำสั่งเลือกใน Golang

ในบทความนี้ เราจะเรียนรู้วิธีใช้เคสเริ่มต้นเพื่อหลีกเลี่ยงการหยุดชะงัก ก่อนอื่นเรามาดูก่อนว่า deadlock case เกิดขึ้นเมื่อใช้คำสั่ง Golang select อย่างไร

วิธีใช้ตัวดำเนินการใน Golang

วิธีใช้ตัวดำเนินการใน Golang

ตัวดำเนินการช่วยให้เราสามารถดำเนินการประเภทต่างๆ กับตัวดำเนินการได้ ในภาษา Go ตัวดำเนินการสามารถจำแนกประเภทได้ตามฟังก์ชันที่แตกต่างกัน

ตัวระบุช่องว่างใน Golang

ตัวระบุช่องว่างใน Golang

_(ขีดล่าง) ใน Golang เรียกว่า Blank Identifier ตัวระบุคือชื่อที่ผู้ใช้กำหนดสำหรับส่วนประกอบของโปรแกรมซึ่งใช้เพื่อวัตถุประสงค์ในการระบุตัวตน

วิธีการสร้างโปรแกรมพื้นฐานใน Golang

วิธีการสร้างโปรแกรมพื้นฐานใน Golang

สวัสดีโลก! เป็นโปรแกรมพื้นฐานแรกในภาษาการเขียนโปรแกรมใด ๆ คุณสามารถเขียนโปรแกรมแรกนี้ใน Golang ได้โดยทำตามขั้นตอนด้านล่างนี้

วิธีการติดตั้ง Go บน Windows

วิธีการติดตั้ง Go บน Windows

Golang สามารถติดตั้งบน Windows ได้อย่างง่ายดาย ด้านล่างนี้เป็นคำแนะนำทีละขั้นตอนโดยละเอียดในการติดตั้ง Golang บน Windows

วิธีการที่มีชื่อเดียวกันใน Golang

วิธีการที่มีชื่อเดียวกันใน Golang

Golang อนุญาตให้สร้างวิธีการ 2 วิธีหรือมากกว่าที่มีชื่อเดียวกันในแพ็คเกจเดียวกัน แต่ตัวรับของวิธีการเหล่านี้จะต้องเป็นประเภทที่แตกต่างกัน

ขอบเขตตัวแปรใน Go

ขอบเขตตัวแปรใน Go

ขอบเขตของตัวแปรใน Golang จะกำหนดส่วนของโปรแกรมที่สามารถเข้าถึงตัวแปรนั้นได้ ใน Go ตัวระบุทั้งหมดมีขอบเขตทางศัพท์ที่กำหนดในเวลาคอมไพล์

คำสั่งควบคุมใน Golang (if, if-else, Nested-if)

คำสั่งควบคุมใน Golang (if, if-else, Nested-if)

Golang มีคำสั่งเงื่อนไขอะไรบ้าง? วิธีการใช้คำสั่งเงื่อนไขในการเขียนโปรแกรม Go? ลองไปหาคำตอบไปด้วยกัน!

15 สิ่งที่คุณสามารถทำได้ด้วย ChatGPT

15 สิ่งที่คุณสามารถทำได้ด้วย ChatGPT

นับตั้งแต่เปิดตัวในเดือนพฤศจิกายน 2022 ChatGPT ได้รับความสนใจอย่างมากเนื่องจากมีการใช้งานที่หลากหลาย เพื่อช่วยให้คุณได้รับประโยชน์สูงสุดจากเครื่องมือนี้ เรามี 15 วิธีที่คุณสามารถใช้ ChatGPT ได้

เคล็ดลับในการค้นหาเที่ยวบินราคาถูกบนสายการบิน Gemini

เคล็ดลับในการค้นหาเที่ยวบินราคาถูกบนสายการบิน Gemini

วิดเจ็ตบน Gemini ช่วยให้ผู้ช่วย AI เข้าถึงผู้ใช้ได้ในด้านต่างๆ มากขึ้น เช่น การค้นหาตั๋วเครื่องบินราคาถูกผ่านวิดเจ็ต Google Flights

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

พารามิเตอร์การส่งคืนที่มีชื่อใน Golang

ใน Golang พารามิเตอร์การส่งคืนที่มีชื่อมักเรียกว่าพารามิเตอร์ที่มีชื่อ Golang อนุญาตให้ตั้งชื่อพารามิเตอร์ที่ส่งกลับหรือผลลัพธ์ของฟังก์ชันในลายเซ็นหรือคำจำกัดความของฟังก์ชัน

คำแนะนำสำหรับการตั้งค่าวอลเปเปอร์แชทบน WhatsApp

คำแนะนำสำหรับการตั้งค่าวอลเปเปอร์แชทบน WhatsApp

WhatsApp มีฟีเจอร์เปลี่ยนวอลล์เปเปอร์แชท ช่วยให้ผู้ใช้สามารถตั้งค่าธีมแชทบน WhatsApp ได้ ผู้ใช้สามารถเลือกพื้นหลังสำหรับการแชทได้ถึง 30 แบบ หรือใช้ภาพส่วนตัวเป็นพื้นหลังการแชทบน WhatsApp ก็ได้

ไฟล์ FLV คืออะไร? วิธีการเปิดไฟล์ FLV บนคอมพิวเตอร์?

ไฟล์ FLV คืออะไร? วิธีการเปิดไฟล์ FLV บนคอมพิวเตอร์?

คุณมักจะดาวน์โหลดวิดีโอจากอินเทอร์เน็ตลงในคอมพิวเตอร์ของคุณเพื่อดูแบบออฟไลน์และมักจะเห็นไฟล์ FLV คุณกำลังดิ้นรนเพื่อหาทางเปิดมันใช่ไหม? วันนี้เราจะมาแจ้งข้อมูลเกี่ยวกับไฟล์วิดีโอ FLV ให้กับคุณในบทความด้านล่างนี้

วิธีดูข่าวที่เก็บถาวรบน Facebook โทรศัพท์ คอมพิวเตอร์

วิธีดูข่าวที่เก็บถาวรบน Facebook โทรศัพท์ คอมพิวเตอร์

หากต้องการตรวจสอบข่าวที่โพสต์บน Facebook คุณจะต้องเปิดใช้งานไฟล์ข่าวที่เก็บถาวรบน Facebook ข้อความ Facebook ทั้งหมดหลังจากเปิดโหมดเก็บถาวรแล้ว จะถูกบันทึกไว้ในไฟล์เก็บถาวรเพื่อให้คุณตรวจสอบได้ทุกเมื่อที่ต้องการ

โค้ด MU Luc Dia VNG ล่าสุดและวิธีแลกโค้ด

โค้ด MU Luc Dia VNG ล่าสุดและวิธีแลกโค้ด

คุณสามารถแลกเปลี่ยนรหัสเกม MU Luc Dia VNG เป็น Zen และสกุลเงินอื่น ๆ ได้

10 แอปพลิเคชั่นที่คนรักหนังสือไม่ควรพลาด

10 แอปพลิเคชั่นที่คนรักหนังสือไม่ควรพลาด

เพียงเพราะคุณไม่มีหนังสือติดตัวไม่ได้หมายความว่าคุณต้องหยุดอ่าน สิ่งที่คุณต้องการคือโทรศัพท์ของคุณเพื่อลองใช้แอปโซเชียลมีเดียที่อุทิศให้กับคนรักหนังสือและค้นหาหนังสือเล่มต่อไปที่คุณอยากอ่าน

เรียนรู้เกี่ยวกับ Spotify Connect: ฟีเจอร์ Spotify ที่บังคับให้ผู้ใช้ออกจาก YouTube Music

เรียนรู้เกี่ยวกับ Spotify Connect: ฟีเจอร์ Spotify ที่บังคับให้ผู้ใช้ออกจาก YouTube Music

ความสามารถในการควบคุมเพลงที่เล่นบนอุปกรณ์หนึ่งจากอีกอุปกรณ์หนึ่งเป็นคุณสมบัติที่ถูกมองข้าม YouTube Music ไม่มีฟีเจอร์นี้ และนั่นทำให้ผู้คนต้องหันมาใช้ Spotify

วิธีทำให้ก้อนหิมะระเบิดใน Minecraft Bedrock & Java Editon

วิธีทำให้ก้อนหิมะระเบิดใน Minecraft Bedrock & Java Editon

คำสั่ง Minecraft ช่วยให้ผู้เล่นสร้างเอฟเฟกต์ที่น่าสนใจมากมายได้ และตัวเลือกที่น่าสนใจอย่างหนึ่งก็คือการทำให้ลูกบอลหิมะระเบิด นี่คือวิธีการทำลูกบอลหิมะระเบิดใน Minecraft

คอมพิวเตอร์ของคุณมี NPU หรือไม่? วิธีการตรวจสอบมีดังนี้

คอมพิวเตอร์ของคุณมี NPU หรือไม่? วิธีการตรวจสอบมีดังนี้

ใน Windows 11 คุณสามารถตรวจสอบได้อย่างรวดเร็วว่าคอมพิวเตอร์ของคุณมี NPU (Neural Processing Unit) หรือไม่ ด้วยวิธีง่ายๆ 3 วิธี

โหมดไฮเบอร์เนตไม่ดีสำหรับพีซีหรือไม่?

โหมดไฮเบอร์เนตไม่ดีสำหรับพีซีหรือไม่?

โหมดไฮเบอร์เนตถือกำเนิดขึ้นจากความต้องการที่จะเปิดคอมพิวเตอร์ไว้ตลอด 24 ชั่วโมงทุกวัน โดยไม่ต้องการให้แบตเตอรี่หมด หรือเพื่อให้แน่ใจว่าระบบจะไม่ได้รับผลกระทบจากไฟฟ้าดับ ซึ่งแตกต่างจากกรณีของโหมดสลีป

คำแนะนำในการเพิ่มปฏิทินยูโร 2024 บน iPhone

คำแนะนำในการเพิ่มปฏิทินยูโร 2024 บน iPhone

การเพิ่มปฏิทินยูโร 2024 บน iPhone ช่วยให้ผู้ใช้ติดตามแมตช์การแข่งขันยูโร 2024 ที่เป็นการแข่งขันฟุตบอลที่มีแมตช์การแข่งขันที่น่าตื่นเต้นได้อย่างง่ายดาย

อาลีบาบาเปิดตัว QwQ-32b คู่แข่งที่น่าเกรงขามของ DeepSeek

อาลีบาบาเปิดตัว QwQ-32b คู่แข่งที่น่าเกรงขามของ DeepSeek

ยังต้องรอดูว่าคำกล่าวอ้างของ Alibaba จะเป็นจริงหรือไม่ แต่ดูเหมือนว่า ChatGPT และ DeepSeek จะมีคู่แข่งใหม่ที่คู่ควรแล้ว

สรุปข้อมูลเกี่ยวกับ Samsung One UI 7

สรุปข้อมูลเกี่ยวกับ Samsung One UI 7

โทรศัพท์ Samsung Galaxy ที่ใช้ One UI 7.0 จะมีความปลอดภัยมากขึ้นด้วยโหมด Lockdown ซึ่งช่วยป้องกันการโจมตีที่ไม่ได้รับอนุญาต