<div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">No. Although you protocol&#39;s function doesn&#39;t has a default parameter value. Your implementation does. So you don&#39;t need to define another func function() in your protocol.</div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default"><div class="gmail_default"><font face="georgia, serif">protocol Good {</font></div><div class="gmail_default"><font face="georgia, serif">    func printSomething(something:String)</font></div><div class="gmail_default"><font face="georgia, serif">}</font></div><div class="gmail_default"><font face="georgia, serif"><br></font></div><div class="gmail_default"><font face="georgia, serif">struct Name:Good {</font></div><div class="gmail_default"><font face="georgia, serif">    func printSomething(something: String = &quot;John&quot;) {</font></div><div class="gmail_default"><font face="georgia, serif">        print(something)</font></div><div class="gmail_default"><font face="georgia, serif">    }</font></div><div class="gmail_default"><font face="georgia, serif">}</font></div><div class="gmail_default"><font face="georgia, serif"><br></font></div><div class="gmail_default"><font face="georgia, serif">Name().printSomething()</font></div><div class="gmail_default"><font face="georgia, serif"><br></font></div><div class="gmail_default"><font face="georgia, serif">above code works.</font></div><div class="gmail_default"><font face="georgia, serif"><br></font></div><div class="gmail_default"><font face="georgia, serif">zhaoxin</font></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 16, 2016 at 6:05 PM, Vatsal Manot <span dir="ltr">&lt;<a href="mailto:vatsal.manot@yahoo.com" target="_blank">vatsal.manot@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>It serves as a better (if not simpler) substitute for the following pattern:</div><div> </div><span>protocol Protocol<br></span><span>{<br></span><span>    typealias Argument<br></span><span>    <br></span><span>    func function()<br></span><span>    func function(_: Argument)<br></span><div><div class="h5"><span>}<br></span><span> <br></span><div><div><blockquote type="cite"><div>On 16-Jan-2016, at 3:29 PM, 肇鑫 &lt;<a href="mailto:owenzx@gmail.com" target="_blank">owenzx@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr"><div class="gmail_default" style="font-family:georgia,serif">I wonder where is the good for a protocol designer on this?<br></div><div class="gmail_default" style="font-family:georgia,serif"><br></div><div class="gmail_default" style="font-family:georgia,serif">zhaoxin</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jan 16, 2016 at 5:23 PM, Vatsal Manot via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Currently, the following the code fails with multiple errors:<br>
<br>
protocol Protocol<br>
{<br>
    typealias Argument<br>
<br>
    func function(argument: Argument = default)<br>
}<br>
<br>
I propose that we allow protocols to require functions with default parameter values. I can’t see any disadvantages to this, and the change would only be additive.<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><div><br>Owen Zhao<br></div></div></div>
</div></div>
</div></blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><br>Owen Zhao<br></div></div></div>
</div>