小编Pix*_*ant的帖子

getter和setter如何在Dart中更改属性?

我在Dart中苦苦寻求getter和setter的概念,我读的越多,我就无法理解其根本目的.以下面的代码为例:

main() {
    Car car = new Car();
    car.doors = 44;
    print(car.doors);  // 44
}
class Car {
    int doors = 4;
}
Run Code Online (Sandbox Code Playgroud)

后来,我决定将"门"变成一个私有变量,所以我做了以下几点:

main() {
    Car car = new Car();
    car.doors = 44;
    print(car.doors);  // 44
}
class Car {
    int _doors = 4;
    int get doors => _doors;
    set doors(int numberOfDoors) => _doors = numberOfDoors;
}
Run Code Online (Sandbox Code Playgroud)

根据代码,_doors现在是一个私有变量,因此我无法在main()中访问它.然而,通过操纵doors,我可以_doors通过使其成为私有变量来间接地改变我认为我想要首先防止的值.那么,如果您仍然可以间接操纵它,那么将以前的公共变量变为私有变量的目的是什么?而且,getter和setter如何改变这些变量的属性呢?我试图理解基本概念,因为没有它,我不明白如何或为什么使用getter和setter.

dart

24
推荐指数
2
解决办法
3万
查看次数

如何在Dart中打印美元符号$

我需要在变量之前在Dart中打印一个美元符号.例如:

void main()
{
  int dollars=42;
  print("I have $dollars."); // I have 42.
}
Run Code Online (Sandbox Code Playgroud)

我希望输出为:我有42美元.我怎样才能做到这一点?谢谢.

variables syntax dart

18
推荐指数
2
解决办法
6108
查看次数

Linkedin API/company-statistics返回500内部服务错误

我正面临着LinkedIn API的问题/company-statistics.

使用Apigee控制台,我启动了 https://api.linkedin.com/v1/companies/2414183/company-statistics?format=json并获得了一个INTERNAL SERVICE ERROR 500.

正如您从URL中看到的那样,我正在使用开发人员API指南中建议的LinkedIn测试公司2414183.

linkedin linkedin-api

14
推荐指数
1
解决办法
751
查看次数

Cloud Endpoints自定义域解决方法

我们有一个AppEngine应用程序,我们希望与Google端点一起使用.我们需要支持Web客户端以及移动客户端,这使得Endpoints对我们很有吸引力,因为我们可以轻松生成Android和iOS客户端API.

问题是云端点当前不支持自定义域,因此我们的Web客户端无法直接与端点通信(移动客户端没有此问题).

这是我们已经尝试过的:

  • CORS请求从客户端到appspot.com域.这个问题是因为我们的请求不符合简单CORS(自定义标头,cookie等)的要求,每次请求都必须发送预检请求,这会减慢一切

  • 客户端向我们的自定义域发出请求,而自定义域又向appspot端点发出请求.同样,额外的请求对性能不利

  • 我们还尝试为Web客户端设置一个重复的Jersey REST API.我们对所有方法进行双重注释(一次针对Cloud Endpoints,一次针对Jersey),Web客户端访问Jersey API,移动客户端访问Endpoints API.这很好用,除了Jersey和Endpoints使用不同的例外.因此,如果我们想抛出一个404端点异常,那将会破坏Jersey响应,反之亦然.

还有其他选择吗?我们希望使用端点的强大功能来生成移动客户端,但也可以绕过Web客户端的自定义域限制.

java google-app-engine google-cloud-endpoints

11
推荐指数
2
解决办法
1285
查看次数

颤动 - 屏幕不滚动

我插入了6张卡,但是无法滚动屏幕.

根据下图,页脚中出现红色条纹,屏幕不滚动.

有什么可以滚动屏幕?

main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: "Myapp",
      home: new HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) => new Scaffold(
    appBar: new AppBar(
      backgroundColor: new Color(0xFF26C6DA),
    ),
    body: new Column(
      children: <Widget>[
        new Card(
          child: new Column(
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              const ListTile(
                leading: const Icon(Icons.album),
                title: const Text('The Enchanted Nightingale'),
                subtitle: const Text('Music by …
Run Code Online (Sandbox Code Playgroud)

dart flutter

11
推荐指数
5
解决办法
2万
查看次数

如何使用VBA重用代码

在VBA中工作时避免重复代码的最佳方法是什么?

我已经习惯了以下语言,我可以添加一个import语句并访问所有类的公共属性和函数,因此我可以创建一个包含一些常用函数的实用程序类,并且可以在我选择导入的任何项目中访问它它来.每当我想更新其中一个功能时,只需编辑一次即可使其在所有项目中运行.

有没有什么好方法可以在VBA中复制此功能?

vba ms-office

10
推荐指数
1
解决办法
4327
查看次数

String.concat()不进行连接

我试图连接一个String与int和char包括空格,但没有得到任何连接.是什么原因?

private String messages;
Random r = new Random();
int random = r.nextInt(1000);

char ch='s';
messages.concat(String.valueOf(random));
messages.concat(" ");
messages.concat(String.valueOf(ch));
messages.concat(" ");
Run Code Online (Sandbox Code Playgroud)

java string android concatenation string-concatenation

7
推荐指数
3
解决办法
4万
查看次数

Google登录是免费还是付费服务?

Google登录是免费还是付费服务?如果是付费服务,那么价目表在哪里发布?

google-signin

7
推荐指数
2
解决办法
2810
查看次数

如何从Google App Engine High Replication数据存储中导出数据?

我正在考虑使用Google App Engine进行项目,如果我决定离开GAE(或GAE关闭),我想确保我有办法导出我的所有数据.

我搜索的关于从GAE导出数据的所有内容都指向https://developers.google.com/appengine/docs/python/tools/uploadingdata.但是,该页面包含此注释:

注意:本文档适用于使用主/从数据存储的应用程序.如果您的应用使用High Replication数据存储,则可以从应用复制数据,但Google目前不支持此用例.如果您尝试从High Replication数据存储区复制,您将在管理控制台中看到high_replication_warning错误,并且下载的数据可能不包括最近保存的实体.

问题是最近主页/从属数据存储区最近被弃用,转而使用High Replication数据存储区.我知道主/从数据存储仍然支持一段时间,但是我觉得使用已经正式弃用并且即将推出的东西感觉不舒服.因此,我留下了High Replication数据存储区,并且它似乎导出数据的唯一方法是上面没有官方支持的方法(因此不能保证我可以获取数据).

是否有任何其他(官方支持的)从High Replication数据存储区导出数据的方法?我觉得使用Google App Engine感觉不舒服,如果这意味着我的数据可以永久锁定在那里.

google-app-engine google-cloud-datastore

5
推荐指数
1
解决办法
4078
查看次数

布尔扩展函数

当我尝试创建扩展函数以设置布尔值true或false时,如下所示.

Boolean.setTrue(){
 this = true
}

Boolean.setFalse(){
 this = false
}
Run Code Online (Sandbox Code Playgroud)

它表示预期变量.如何实现这一目标.

boolean kotlin kotlin-extension

5
推荐指数
1
解决办法
906
查看次数