Skip to content

Section.Key passing a empty key name will return a nil #358

Open
@zzt741

Description

@zzt741

Version

1.66.6

Describe the bug

https://github.com/go-ini/ini/blob/main/section.go#L169

// Key assumes named Key exists in section and returns a zero-value when not.
func (s *Section) Key(name string) *Key {
	key, err := s.GetKey(name)
	if err != nil {
		// It's OK here because the only possible error is empty key name,
		// but if it's empty, this piece of code won't be executed.
		key, _ = s.NewKey(name, "")
		return key
	}
	return key
}

注释有点没看懂,为什么传入空键值,代码不会执行?我传入了空键值,导致返回了一个nil,由于没有检查,导致了panic。按理说这里不应该返回nil吧。

To reproduce

	ini, _ := ini.Load("file")
	section, _ := ini.GetSection("Product")
	key := section.Key("")
	fmt.Println(key)

Expected behavior

是否可以改为传入空键值时不返回nil,或者说为什么不支持空字符串作为键值?

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions