You can't have multiple line styles within the same path. You can insert square brackets pretty much anywhere on a path to change options, but most of them will then affect the entire path.
One way out is using the
edge operation, which is similar to a node in that it is actually a separate path:
\draw[style1] (0,0) -- ++(1,0) edge[style2] ++(1,0);
This works fine for straight lines and basic curves (try
in angle and
out angle as options in
Adding to Jens Polz's answer, I would suggest using the
coordinate operation instead of
node: using it, you don't need to provide empty node contents and you also don't get gaps in your path:
\draw[style1] (0,0) -- ++( 1,0) coordinate (x);
\draw[style2] (x) -- ++( 0,1) coordinate (x);
\draw[style3] (x) -- ++(-1,0);
It's possible to re-use the same name for this temporary coordinate.