• Robert Griesemer's avatar
    spec: clarify index and selector expressions · 2961d229
    Robert Griesemer authored
    (Replacement for CL 11884043.)
    
    1) Explain a[i] and a[i:j] where a is of type *A as
       shortcut for (*a)[i] and (*a)[i:j], respectively.
    
    2) Together with 1), because len() of nil slices is
       well defined, there's no need to special case nil
       operands anymore.
    
    3) The result of indexing or slicing a constant string
       is always a non-constant byte or string value.
    
    4) The result of slicing an untyped string is a value
       of type string.
    
    5) If the operand of a valid slice a[i:j] is nil (i, j
       must be 0 for it to be valid - this already follows
       from the in-range rules), the result is a nil slice.
    
    Fixes #4913.
    Fixes #5951.
    
    R=r, rsc, iant, ken
    CC=golang-dev
    https://golang.org/cl/12198043
    2961d229
Name
Last commit
Last update
..
articles Loading commit data...
codewalk Loading commit data...
devel Loading commit data...
gopher Loading commit data...
play Loading commit data...
progs Loading commit data...
Makefile Loading commit data...
cmd.html Loading commit data...
code.html Loading commit data...
contrib.html Loading commit data...
contribute.html Loading commit data...
debugging_with_gdb.html Loading commit data...
docs.html Loading commit data...
effective_go.html Loading commit data...
gccgo_contribute.html Loading commit data...
gccgo_install.html Loading commit data...
go-logo-black.png Loading commit data...
go-logo-blue.png Loading commit data...
go-logo-white.png Loading commit data...
go1.1.html Loading commit data...
go1.2.txt Loading commit data...
go1.html Loading commit data...
go1compat.html Loading commit data...
go_faq.html Loading commit data...
go_mem.html Loading commit data...
go_spec.html Loading commit data...
help.html Loading commit data...
ie.css Loading commit data...
install-source.html Loading commit data...
install.html Loading commit data...
jquery.js Loading commit data...
logo-153x55.png Loading commit data...
reference.html Loading commit data...
root.html Loading commit data...
share.png Loading commit data...
sieve.gif Loading commit data...
style.css Loading commit data...
tos.html Loading commit data...