Файловый менеджер - Редактировать - /usr/local/go/src/reflect/type_test.go
Ðазад
// Copyright 2023 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package reflect_test import ( "reflect" "testing" ) func TestTypeFor(t *testing.T) { type ( mystring string myiface interface{} ) testcases := []struct { wantFrom any got reflect.Type }{ {new(int), reflect.TypeFor[int]()}, {new(int64), reflect.TypeFor[int64]()}, {new(string), reflect.TypeFor[string]()}, {new(mystring), reflect.TypeFor[mystring]()}, {new(any), reflect.TypeFor[any]()}, {new(myiface), reflect.TypeFor[myiface]()}, } for _, tc := range testcases { want := reflect.ValueOf(tc.wantFrom).Elem().Type() if want != tc.got { t.Errorf("unexpected reflect.Type: got %v; want %v", tc.got, want) } } } func TestStructOfEmbeddedIfaceMethodCall(t *testing.T) { type Named interface { Name() string } typ := reflect.StructOf([]reflect.StructField{ { Anonymous: true, Name: "Named", Type: reflect.TypeFor[Named](), }, }) v := reflect.New(typ).Elem() v.Field(0).Set( reflect.ValueOf(reflect.TypeFor[string]()), ) x := v.Interface().(Named) shouldPanic("StructOf does not support methods of embedded interfaces", func() { _ = x.Name() }) }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка