пытается иметь тип Char
, который является строкой
длиной в один символ. что я не могу сделать, так это создать «конструктор». Я знаю, что упускаю что-то совершенно очевидное.
объявляют, что тип Char
type Char string
может использовать этот тип с объявлением
var c1 Char("abc") var c2 Char = "abc"
, это неверно: c1
и c2
должны быть "a ", а не" abc "
то, что мне действительно нужно, это" конструктор ", чтобы ограничить Char одним символом
func Char( s string ) Char { var ch string = s[0] return ch }
, конечно, имеющий тип Char
и func Char
не способ сделать это
type.go:8: Char redeclared in this block
есть ли способ принудительно инициализировать тип
через конструктор? или я вообще задаю правильный вопрос?
позвольте мне заявить иначе: если пользователь скажет var c Char = "abc"
, у него будет недопустимое значение для типа Char
- есть ли способ заставить пользователя использовать func NewChar (string) Char
как Char
единственный допустимый конструктор?