Skip to content

Instantly share code, notes, and snippets.

@sinsoku
Last active March 4, 2016 09:25
Show Gist options
  • Save sinsoku/dcfe5e1291c3a6351dbb to your computer and use it in GitHub Desktop.
Save sinsoku/dcfe5e1291c3a6351dbb to your computer and use it in GitHub Desktop.
class User {}
// Twitter
protocol Twitter {
// var username: String { get }
}
extension Twitter {
var username: String {
get { return "tryswiftconf" }
}
}
func showTwitter(user: Twitter) {
print(user.username)
}
extension User: Twitter {}
// GitHub
protocol GitHub {
// var username: String { get }
}
extension GitHub {
var username: String {
get { return "lattner" }
}
}
func showGitHub(user: GitHub) {
print(user.username)
}
extension User: GitHub {}
let user = User()
showTwitter(user) // tryswiftconf
showGitHub(user) // lattner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment