Ich bin mir nicht sicher, was Sie mit den *"b"
in Ihrer Syntax erreichen wollen, aber für den Rest davon:
julia> a = 123
123
julia> string(a)
"123"
julia> println(a)
123
Die string()
Funktion auch mehr Argumente annehmen:
julia> string(a, "b")
"123b"
Beachten Sie, dass es nicht notwendig ist, einen Int
-Typ in einen ASCIIString
zu konvertieren, bevor Sie println()
darauf aufrufen - die Konvertierung wird automatisch durchgeführt.
Sie können auch (aka interpolieren) ganze Zahlen (und bestimmte andere Arten) insert into Strings $
:
julia> MyString = "my integer is $a"
"my integer is 123"
Performance-Tipp: Die obigen Verfahren manchmal sehr bequem sein kann. Aber, wenn Sie viele, viele solcher Operationen ausführen und Sie sind besorgt über die Ausführungsgeschwindigkeit Ihres Codes, empfiehlt die Julia performance guide dagegen, und stattdessen zugunsten der folgenden Methoden:
Sie können mehrere Argumente zu print()
liefern und println()
, die ihnen genau arbeitet wie string()
auf mehrere Argumente arbeitet:
julia> println(a, "b")
123b
Oder wenn eine Datei schreiben, können Sie in ähnlicher Weise verwendet werden, zB
open("/path/to/MyFile.txt", "w") do file
println(file, a, "b", 13)
end
oder
file = open("/path/to/MyFile.txt", "a")
println(file, a, "b", 13)
close(file)
Dies sind schneller, weil sie zuerst vermeiden zu müssen aus gegebenen Stücken eine Zeichenfolge bilden, und dann gibt sie (entweder an der Konsolenanzeige oder eine Datei) und statt sequentiell nur die verschiedene Stücke.
Hinweis: Antwort spiegelt Updates basierend auf hilfreiche Kommentar von @Fengyang Wang.
Große Antwort. Beachten Sie, dass 'string()' so langsam ist wie die String-Interpolation. Tatsächlich reduziert sich die String-Interpolation tatsächlich auf einen "String" -Ruf! Der verknüpfte Leistungsleitfaden empfiehlt, die IO-Funktionen direkt zu verwenden, was in der Tat schneller ist. –
@FengyangWang Großartig, danke für den Tipp! Ich habe mich entsprechend aktualisiert. –