Có rất nhiều trường hợp sử dụng nil trong golang, như thế này:Nil có nghĩa là gì trong golang?
func (u *URL) Parse(ref string) (*URL, error) {
refurl, err := Parse(ref)
if err != nil {
return nil, err
}
return u.ResolveReference(refurl), nil
}
nhưng chúng ta không thể sử dụng nó như thế này:
var str string //or var str int
str = nil
trình biên dịch golang sẽ ném ra một lỗi can't use nil as type string in assignment
.
Có vẻ như chỉ nil
chỉ có thể được sử dụng cho con trỏ của cấu trúc và giao diện, sau đó có nghĩa là gì? và khi chúng tôi sử dụng nó để so sánh với đối tượng khác, cách chúng so sánh, điều đó có nghĩa là golang đánh giá một đối tượng là nil?
CHỈNH SỬA: Ví dụ: nếu một giao diện là không, thì loại và giá trị của nó phải bằng 0 cùng một lúc. Làm thế nào golang làm cho nó?
Bạn sẽ phải hiểu các loại Go và các giá trị khác nhau mà một đối tượng của mỗi loại có thể có. Tất cả các chi tiết về những thứ là nil, có thể gán cho nil, có thể so sánh được với nil và do đó một giải thích được giải thích trong https://golang.org/ref/spec đủ ngắn để đọc một lần và đủ rõ ràng để hiểu nó. – Volker
Chuỗi trống trong Go là "".Để kiểm tra xem chuỗi có giá trị hay không, chỉ cần thực hiện 'str ==" "' – LibertyLocked