Сценарий: Структура с объявлением переменных-указателей и обычным Go конструктором
Этот коммит содержится в:
родитель
083a2b161c
коммит
6c3785004c
2 изменённых файлов: 38 добавлений и 0 удалений
|
@ -262,4 +262,39 @@ device *dev1,*dev2;
|
||||||
void main() {
|
void main() {
|
||||||
dev1=new device();
|
dev1=new device();
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Сценарий: Структура с объявлением переменных-указателей и обычным Go конструктором
|
||||||
|
* Исходник:
|
||||||
|
```
|
||||||
|
package test
|
||||||
|
|
||||||
|
var (
|
||||||
|
dev1, dev2 *Device
|
||||||
|
)
|
||||||
|
|
||||||
|
type Device struct {}
|
||||||
|
|
||||||
|
func NewDevice() *Device {
|
||||||
|
return &Device{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
dev1 = NewDevice()
|
||||||
|
}
|
||||||
|
```
|
||||||
|
* Результат:
|
||||||
|
```
|
||||||
|
class Device {
|
||||||
|
public:
|
||||||
|
};
|
||||||
|
Device* NewDevice();
|
||||||
|
void main();
|
||||||
|
Device *dev1,*dev2;
|
||||||
|
Device* NewDevice() {
|
||||||
|
return new Device();
|
||||||
|
}
|
||||||
|
void main() {
|
||||||
|
dev1=NewDevice();
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
|
@ -83,6 +83,9 @@ func handleFuncDeclType(t *ast.FuncType) string {
|
||||||
switch ft := fl.List[0].Type.(type) {
|
switch ft := fl.List[0].Type.(type) {
|
||||||
case *ast.Ident:
|
case *ast.Ident:
|
||||||
code += handleIdentExpr(ft)
|
code += handleIdentExpr(ft)
|
||||||
|
case *ast.StarExpr:
|
||||||
|
code += handleStarExpr(ft)
|
||||||
|
code += "*"
|
||||||
}
|
}
|
||||||
|
|
||||||
return code
|
return code
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче