- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - phát hiện rò rỉ bộ nhớ Ruby/Ruby on Rails
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
谁能给我解释一下 nhập khẩu
语句是如何工作的?
例如,我在 myapp/app/models
包中有一个类型 Người sử dụng
:
package models
Kiểu người dùng struct {
// exportod fields
}
tôi ở đây myapp/app/controllers
包中有一个类型 Users
:
package controllers
nhập khẩu (
_ "myapp/app/models"
"github.com/revel/revel"
)
type Users struct {
*revel.Controller
}
func (c Users) HandleSubmit(user *User) revel.Result {
// Code here
}
这给了我以下错误:
undefined: User
我尝试将导入更改为以下代码:
nhập khẩu (
. "advorts/app/models"
"github.com/revel/revel"
)
但是得到这个错误:
undefined: "myapp/app/controllers".User
我也不明白。那么,import 之间有什么区别。 "something"
Và import "something"
?如何正确导入
我的模型?
câu trả lời hay nhất
每个包都有一组类型、函数、变量等。我们称它们为实体。每个实体都可以导出(其名称以大写字母开头)或不导出(其名称以小写字母开头)。
一个包只能访问另一个包的导出实体。为此,它需要nhập khẩu
它,这将使导出的实体可用包名称作为标识符。示例:
import "github.com/revel/revel"
将获取 revel
包的所有导出实体,使用 revel.
前缀即可使用。与 revel.Controller
一样,它是 revel
包中定义的 Bộ điều khiển
类型。
您可以通过在导入路径前加上所需的标识符来为包标识符设置别名。示例:
import rev "github.com/revel/revel"
将导入所有具有标识符 rev
của revel
实体。所以 revel.Controller
变成了 rev.Controller
。如果您有多个同名的包,或者一个包的名称长得离谱,这将很有用。
作为奖励,您可以匿名导入包,方法是将其别名为空白标识符:
import _ "github.com/revel/revel"
这将导入包,但不会让您访问导出的实体。它对于需要导入但永远无法访问的驱动程序之类的东西很有用。一个常见的例子是数据库驱动程序,它们将自己注册到 database/sql
包中,因此您永远不需要直接访问它们。
作为奖励,您还可以在本地导入包,方法是使用 .
标识符作为别名。导出的实体将在没有标识符的情况下可用,就像您在同一个包中定义它们一样。
如何正确导入包由您决定。一般的约定是如果你能管理它就永远不要别名,隐藏你不需要访问但仍然需要导入的包(数据库驱动程序),仅此而已。你真的永远不需要在本地导入包,即使一些教程或框架为了简单起见这样做了。
关于import - `import` 语句的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24425002/
Tôi vừa sửa một lỗi bằng cách thay đổi import * as CodeMirror thành import CodeMirror đơn giản và dễ hiểu. Tôi đã sao chép mã này (được chuyển từ TypeScript).
Tôi đang gỡ lỗi (trong PyCharm) một tập lệnh. Tôi dừng lại ở điểm dừng và đi đến cửa sổ bảng điều khiển gỡ lỗi và từ đó tôi gọi dòng nhập như thế này: import my_util1 from my_utils Sau đó tôi gọi my_uti
Có ai có thể giải thích cho tôi cách hoạt động của câu lệnh nhập không? Ví dụ: tôi có loại Người dùng trong gói myapp/app/models: mô hình gói loại Người dùng struct {
Tôi muốn nhập Control.App vào một mô-đun tham chiếu PrimIO.PrimIO bằng tên không đủ tiêu chuẩn PrimIO ở nhiều nơi. Tất nhiên, vấn đề là Control.App cũng xuất ra một định nghĩa có tên PrimIO.I
Tôi nên sử dụng from foo import bar hay import foo.bar as bar khi nhập mô-đun mà không/muốn thay đổi tên (thanh)? Có sự khác biệt nào không? Nó có quan trọng không? Câu trả lời hay nhất giả định thanh
Tôi đang thực hiện những bước đầu tiên của thử nghiệm học sâu bằng Theano trên Windows và tôi rất ngạc nhiên về lượng thời gian chỉ để tải thư viện. Đây là một chương trình thử nghiệm nhỏ: from time import time t0 = time() impo
Trong TypeScript, làm cách nào để "nhập *" từ một tệp mà không tạo bất kỳ bí danh nào? Ví dụ: tôi có tệp "utils" chứa các hàm được xuất cấp cao nhất và tôi muốn nhập tất cả chúng mà không cần tạo lại bí danh cho từng hàm. Như thế này: quan trọng
Tôi nên sử dụng from foo import bar hay import foo.bar as bar khi nhập mô-đun và không cần/muốn thay đổi tên (thanh)? Có sự khác biệt nào không? Nó có quan trọng không? Câu trả lời hay nhất giả sử thanh là dành cho
Câu hỏi này đã có câu trả lời ở đây: Sử dụng 'mô-đun nhập' hoặc 'từ nhập mô-đun'? (23 câu trả lời) Đã đóng 8 năm trước. Tôi muốn biết liệu có sự khác biệt nào giữa các đoạn mã từ bạn không
Tôi đang nói from urllib import request mine = request.Request() và import urllib.request mine = urllib.reque
Vì vậy, tôi có một chút bí ẩn về việc nhập Python. Tôi chắc rằng vì lý do nào đó mà mọi chuyện lại diễn ra như vậy, vì Guido hiếm khi mắc sai lầm. Nhưng tại sao lại như vậy? $ cat myModule.py #!/usr/bin/pyt
Chúng tôi đang nâng cấp ứng dụng Rails 3.2 lên Rails 4.0. Chúng tôi có một assets/stylesheets/application/index.css.sass tải một số tệp sass khác
Tôi đang phát triển một cơ sở mã Typescript khá nhỏ, đủ lớn để chia thành nhiều tệp. Đây là một trò chơi blackjack. Tôi hiện có một loạt mã trông giống như: var player = new Player();
Có thể viết một mô-đun theo cách mà mô-đun đó được sử dụng không? d không có nhập rõ ràng, tất cả các chương trình con được nhập, khi nó được sử dụng d với nhập rõ ràng, chỉ có các chương trình con được nhập rõ ràng này có sẵn? #!/usr/bin/env Perl6 sử dụng v6;
Câu hỏi này đã có câu trả lời ở đây: cách xem các thay đổi trong toàn bộ thư mục/thư mục chứa nhiều tệp sass (9 câu trả lời) 5 năm trước
Tôi thực sự gặp khó khăn khi làm cho nó hoạt động trong xcode 4. Tôi có một dự án sẽ được sử dụng lại trong nhiều ứng dụng (web), vì vậy tôi tạo một không gian làm việc và thêm hai dự án của mình. Cho đến nay rất tốt....đây là lúc nó thất bại.. #import "J
Sự khác biệt chính giữa máy vắt cổ điển và máy vắt mới là gì và nên sử dụng cái nào tốt nhất? Câu trả lời hay nhất Trình trích xuất cổ điển sử dụng quy trình làm việc ban đầu, giống như trình thu thập thông tin và trình kết nối. Trình trích xuất mới được sắp xếp hợp lý hơn và nhìn chung trông đẹp hơn, đồng thời nhiều lỗi nhỏ trong trình trích xuất cổ điển đã được sửa trong trình trích xuất mới.
Trong khi làm việc với mixin nhập webfont của google, tôi nhận thấy rằng URL @import không thể được tạo động. .gFontImport (@name, @weights, @subsets) {
Tôi đang làm theo hướng dẫn Django 1.8. Trong dự án mysite của tôi, có một thư mục nguồn polls. Có một mô-đun view.py trong thư mục chứa hàm chỉ mục được xác định. Ngoài ra còn có tệp urls.py: fr
Tôi muốn biên dịch một chương trình Rust đơn giản bằng thư viện của bên thứ ba có tên warp: [package] name = "hello-world-warp" version = "0.1.0" [dependencie
Tôi là một lập trình viên xuất sắc, rất giỏi!