Go语言的模块化开发和TypeScript不一致,TypeScript是使用export 导出想要导出的类/变量/type等,但是Go是所有的模块内定义的都是公开的,别人都可以import是吗?-灵析社区

一只臭美的Doggg

请问: 1、Go语言的**模块化开发** 是否就是一个.go文件就是一个模块?还是说`package xxx`代表一个模块呢? 如下[代码](https://link.segmentfault.com/?enc=WV2y1dslmDo4mp2RJG8BpQ%3D%3D.28cbj8urtYy2zIzQ0vvVyivAB%2Bd1uk2iWePGbZePZA3BKfWo8P%2FAwy9uKxPVq2ohogNyiKkA4vnv6Q9Jd3tVGWbJkhZzyjap71FCaJg3ZdJvTkkuzJW2%2BmVkJ0NXFj%2Fx): package conditions import ( "fmt" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/watch" ) var ErrPodCompleted = fmt.Errorf("pod ran to completion") func PodRunning(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: switch t.Status.Phase { case v1.PodRunning: return true, nil case v1.PodFailed, v1.PodSucceeded: return false, ErrPodCompleted } } return false, nil } func PodCompleted(event watch.Event) (bool, error) { switch event.Type { case watch.Deleted: return false, errors.NewNotFound(schema.GroupResource{Resource: "pods"}, "") } switch t := event.Object.(type) { case *v1.Pod: switch t.Status.Phase { case v1.PodFailed, v1.PodSucceeded: return true, nil } } return false, nil } 2、Go语言的模块化开发和TypeScript不一致,TypeScript是使用export 导出想要导出的类/变量/type等,但是Go是所有的模块内定义的都是公开的,别人都可以import是吗?

阅读量:160

点赞量:0

问AI
大写字母开头是公开的,小写字母开头的不是。