Keywords in Go
Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.
In Golang , structures (or structs) allow us to group elements of different types into a single unit, which is useful for modeling real-world entities. Anonymous structures in Golang are temporary structures without names that are used for one-time purposes, while anonymous fields allow embedding unnamed fields.
For example:
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)
}
Syntax:
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
}
Anonymous Structures in Go
Anonymous structures in Go are defined without a name and are useful for creating temporary, disposable structures. Here is the syntax and code example.
Syntax:
variable := struct {
field1 dataType1
field2 dataType2
// Các trường bổ sung khi cần
}{value1, value2}
For example:
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)
}
Result:
Name: A
Enrollment: 12345
GPA: 3.8
This code defines a Student structure with an anonymous personalDetails structure inside, storing the name and registration information. It then initializes student with values for these fields and prints them out.
Anonymous fields
Anonymous fields in Go allow you to define fields without explicit names, only their types. This is useful when fields naturally follow the type name.
Syntax
type StructName struct {
dataType1
dataType2
// Additional anonymous fields
}
For example:
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)
}
Result:
Enrollment: 12345
Name: A
GPA: 3.8
Here, the data types ( int, string, float64 ) act as field names, so accessing the values depends on the types.
Important Points to Remember About Anonymous Fields in Golang
1. Unique requirement: You cannot use two fields of the same type in a structure. For example:
type InvalidStudent struct {
int
int // Error: duplicate type
}
2. Combining named and anonymous fields: You can combine anonymous and named fields in a structure.
type Student struct {
id int // Named field
int // Anonymous field
}
Keyword - Keywords are words in a language that are used for some internal processes or represent some predefined actions. Here is what you need to know about keywords in Golang.
Data types specify what type of data a valid Go variable can hold. In the Go language, types are divided into four categories as follows:
Go supports two main ways to pass arguments: Pass by Value and Pass by Reference. Go uses pass by value by default.
In Go language, you are allowed to return multiple values from a function, using the return statement. In other words, in a function, a return statement can return multiple values.
Golang like most other programming languages has switch statement. Here is how to use switch statement in Golang.
In this article, we will learn how to use default case to avoid deadlock. But first, we will learn what is deadlock case when using select command in Golang?
What is Rune in Golang? How to use Rune in Golang? This article will give you the answer.
Operators allow us to perform different types of operations on operands. In Go language, operators can be classified based on their different functions.
_(underscore) in Golang is called Blank Identifier. Identifier is a user-defined name of program elements used for identification purposes.
Hello, World! is the first basic program in any programming language. You can write this first program in Golang by following the steps below.
Golang can be easily installed on Windows. Here is a step-by-step guide to install Golang on Windows.
Golang allows creating two or more methods with the same name in the same package, but the receivers of these methods must be of different types.
In Go, functions are blocks of code that perform specific tasks, which can be reused throughout the program to save memory, improve readability, and save time.
The scope of a variable in Golang determines which part of the program the variable is accessible to. In Go, all identifiers have a lexical scope that is determined at compile time.
ChatGPT's new Canvas mode adds a new dimension to writing and editing in the world's leading Generative AI engine.
While AI photo editors can streamline your editing workflow significantly, they are not perfect. There are a few things users don’t like about them, and in today’s article, you’ll discover what they are.
When the Play Store doesn't update apps automatically, users risk missing out on new features, security patches, and bug fixes. Luckily, you can configure the Google Play Store to update your apps automatically using these steps.
In a move that completely changes the way digital games are distributed, Nintendo has officially introduced the Virtual Game Cards system at the Nintendo Direct event.
Besides sending photos on Messenger, users can now send files on the application to others, with all document file formats such as pdf, doc, xlx...
CapCut also has the option to insert video subtitles like some famous video subtitling applications. Then the application automatically recognizes the sound and voice in the video, then displays it in the video.
You've decided to replace your old router. When you unbox your new wireless router, you may wonder why there are two networks: 2.4GHz and 5GHz. Is the 5GHz network stronger? What's the difference?
These days, users can pay to protect all their devices – whether it’s a PC, Mac, or smartphone. But with so many options on the market today, it can be hard to know where to start. Here’s a list of the best internet security suites available today.
With a wealth of tools for digital creators, Adobe Express is the ultimate all-in-one creative tool for everyone—and it's not going anywhere.
For more convenience in using Gmail, you can turn Gmail into an application on your computer without having to access it manually anymore.
Code Thien Nhai Minh Nguyet Dao helps players not feel bored when first joining the game.
From the owner and developer of TikTok and CapCut, Hypic is a photo editing app that many people use on their phones, and there are plenty of reasons why it's a favorite.
Scientists at RMIT University in Melbourne (Australia) have created a recyclable water battery by replacing the dangerous chemical electrolytes used in conventional batteries with water.
The time for the Moon to revolve around the Earth is about 27.3 days, while the Earth rotates once around its axis in 24 hours (one day - night).
Male Danionella cerebrum fish are only about the size of a fingernail, but can produce noises exceeding 140 decibels, according to research published in the journal PNAS.