LEFT | RIGHT |
(no file at all) | |
1 <!--{ | 1 <!--{ |
2 "Title": "Go 1 Release Notes" | 2 "Title": "Go 1 Release Notes" |
3 }--> | 3 }--> |
4 <!-- | 4 <!-- |
5 DO NOT EDIT: created by | 5 DO NOT EDIT: created by |
6 tmpltohtml go1.tmpl | 6 tmpltohtml go1.tmpl |
7 --> | 7 --> |
8 | 8 |
9 | 9 |
10 <h2 id="introduction">Introduction to Go 1</h2> | 10 <h2 id="introduction">Introduction to Go 1</h2> |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
571 <p> | 571 <p> |
572 Finally, the <code>gotype</code> command now resides in <code>exp/gotype</code>,
while | 572 Finally, the <code>gotype</code> command now resides in <code>exp/gotype</code>,
while |
573 <code>ebnflint</code> is now in <code>exp/ebnflint</code>. | 573 <code>ebnflint</code> is now in <code>exp/ebnflint</code>. |
574 If they are installed, they now reside in <code>$GOROOT/bin/tool</code>. | 574 If they are installed, they now reside in <code>$GOROOT/bin/tool</code>. |
575 </p> | 575 </p> |
576 | 576 |
577 <p> | 577 <p> |
578 <em>Updating</em>: | 578 <em>Updating</em>: |
579 Code that uses packages in <code>exp</code> will need to be updated by hand, | 579 Code that uses packages in <code>exp</code> will need to be updated by hand, |
580 or else compiled from an installation that has <code>exp</code> available. | 580 or else compiled from an installation that has <code>exp</code> available. |
581 The go fix tool or the compiler will complain about such uses. | 581 The <code>go fix</code> tool or the compiler will complain about such uses. |
582 </p> | 582 </p> |
583 | 583 |
584 <h3 id="old">The package tree old</h3> | 584 <h3 id="old">The package tree old</h3> |
585 | 585 |
586 <p> | 586 <p> |
587 Because they are deprecated, the packages under the <code>old</code> directory w
ill not be available in the | 587 Because they are deprecated, the packages under the <code>old</code> directory w
ill not be available in the |
588 standard Go 1 release distributions, although they will be available in source c
ode form for | 588 standard Go 1 release distributions, although they will be available in source c
ode form for |
589 developers who wish to use them. | 589 developers who wish to use them. |
590 </p> | 590 </p> |
591 | 591 |
592 <p> | 592 <p> |
593 The packages in their new locations are: | 593 The packages in their new locations are: |
594 </p> | 594 </p> |
595 | 595 |
596 <ul> | 596 <ul> |
597 <li><code>old/netchan</code></li> | 597 <li><code>old/netchan</code></li> |
598 <li><code>old/regexp</code></li> | 598 <li><code>old/regexp</code></li> |
599 <li><code>old/template</code></li> | 599 <li><code>old/template</code></li> |
600 </ul> | 600 </ul> |
601 | 601 |
602 <p> | 602 <p> |
603 <em>Updating</em>: | 603 <em>Updating</em>: |
604 Code that uses packages now in <code>old</code> will need to be updated by hand, | 604 Code that uses packages now in <code>old</code> will need to be updated by hand, |
605 or else compiled from an installation that has <code>old</code> available. | 605 or else compiled from an installation that has <code>old</code> available. |
606 The go fix tool will warn about such uses. | 606 The <code>go fix</code> tool will warn about such uses. |
607 </p> | 607 </p> |
608 | 608 |
609 <h3 id="deleted">Deleted packages</h3> | 609 <h3 id="deleted">Deleted packages</h3> |
610 | 610 |
611 <p> | 611 <p> |
612 Go 1 deletes several packages outright: | 612 Go 1 deletes several packages outright: |
613 </p> | 613 </p> |
614 | 614 |
615 <ul> | 615 <ul> |
616 <li><code>container/vector</code></li> | 616 <li><code>container/vector</code></li> |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
856 </p> | 856 </p> |
857 | 857 |
858 <h3 id="archive_zip">The archive/zip package</h3> | 858 <h3 id="archive_zip">The archive/zip package</h3> |
859 | 859 |
860 <p> | 860 <p> |
861 In Go 1, <a href="/pkg/archive/zip/#Writer"><code>*zip.Writer</code></a> no | 861 In Go 1, <a href="/pkg/archive/zip/#Writer"><code>*zip.Writer</code></a> no |
862 longer has a <code>Write</code> method. Its presence was a mistake. | 862 longer has a <code>Write</code> method. Its presence was a mistake. |
863 </p> | 863 </p> |
864 | 864 |
865 <p> | 865 <p> |
866 <i>Updating:</i> What little code is affected will be caught by the compiler | 866 <em>Updating</em>: |
867 and must be updated by hand. Such code is almost certainly incorrect. | 867 What little code is affected will be caught by the compiler and must be updated
by hand. |
868 </p> | 868 </p> |
869 | 869 |
870 <h3 id="bufio">The bufio package</h3> | 870 <h3 id="bufio">The bufio package</h3> |
871 | 871 |
872 <p> | 872 <p> |
873 In Go 1, <a href="/pkg/bufio/#NewReaderSize"><code>bufio.NewReaderSize</code></a
> | 873 In Go 1, <a href="/pkg/bufio/#NewReaderSize"><code>bufio.NewReaderSize</code></a
> |
874 and | 874 and |
875 <a href="/pkg/bufio/#NewWriterSize"><code>bufio.NewWriterSize</code></a> | 875 <a href="/pkg/bufio/#NewWriterSize"><code>bufio.NewWriterSize</code></a> |
876 functions no longer return an error for invalid sizes. | 876 functions no longer return an error for invalid sizes. |
877 If the argument size is too small or invalid, it is adjusted. | 877 If the argument size is too small or invalid, it is adjusted. |
878 </p> | 878 </p> |
879 | 879 |
880 <p> | 880 <p> |
881 <em>Updating</em>: | 881 <em>Updating</em>: |
882 What little code is affected will be caught by the compiler and must be updated
by hand. | 882 Running <code>go fix</code> will update calls that assign the error to _. |
| 883 Calls that aren't fixed will be caught by the compiler and must be updated by ha
nd. |
883 </p> | 884 </p> |
884 | 885 |
885 <h3 id="bufio">The compress/flate, compress/gzip and compress/zlib packages</h3> | 886 <h3 id="bufio">The compress/flate, compress/gzip and compress/zlib packages</h3> |
886 | 887 |
887 <p> | 888 <p> |
888 In Go 1, the <code>NewWriterXxx</code> functions in | 889 In Go 1, the <code>NewWriterXxx</code> functions in |
889 <a href="/pkg/compress/flate"><code>compress/flate</code></a>, | 890 <a href="/pkg/compress/flate"><code>compress/flate</code></a>, |
890 <a href="/pkg/compress/gzip"><code>compress/gzip</code></a> and | 891 <a href="/pkg/compress/gzip"><code>compress/gzip</code></a> and |
891 <a href="/pkg/compress/zlib"><code>compress/zlib</code></a> | 892 <a href="/pkg/compress/zlib"><code>compress/zlib</code></a> |
892 all return <code>(*Writer, error)</code> if they take a compression level, | 893 all return <code>(*Writer, error)</code> if they take a compression level, |
893 and <code>*Writer</code> otherwise. Package <code>gzip</code>'s | 894 and <code>*Writer</code> otherwise. Package <code>gzip</code>'s |
894 <code>Compressor</code> and <code>Decompressor</code> types have been renamed | 895 <code>Compressor</code> and <code>Decompressor</code> types have been renamed |
895 to <code>Writer</code> and <code>Reader</code>. Package <code>flate</code>'s | 896 to <code>Writer</code> and <code>Reader</code>. Package <code>flate</code>'s |
896 <code>WrongValueError</code> type has been removed. | 897 <code>WrongValueError</code> type has been removed. |
897 </p> | 898 </p> |
898 | 899 |
899 <p> | 900 <p> |
900 <em>Updating</em> | 901 <em>Updating</em> |
901 What little code is affected will be caught by the compiler and must be updated
by hand. | 902 Running <code>go fix</code> will update old names and calls that assign the erro
r to _. |
| 903 Calls that aren't fixed will be caught by the compiler and must be updated by ha
nd. |
902 </p> | 904 </p> |
903 | 905 |
904 <h3 id="crypto_aes_des">The crypto/aes and crypto/des packages</h3> | 906 <h3 id="crypto_aes_des">The crypto/aes and crypto/des packages</h3> |
905 | 907 |
906 <p> | 908 <p> |
907 In Go 1, the <code>Reset</code> method has been removed. Go does not guarantee | 909 In Go 1, the <code>Reset</code> method has been removed. Go does not guarantee |
908 that memory is not copied and therefore this method was misleading. | 910 that memory is not copied and therefore this method was misleading. |
909 </p> | 911 </p> |
910 | 912 |
911 <p> | 913 <p> |
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1418 <code>Exec</code> from the <code>syscall</code> package, where available.</p> | 1420 <code>Exec</code> from the <code>syscall</code> package, where available.</p> |
1419 | 1421 |
1420 <p>The <code>ShellExpand</code> function has been renamed to <a | 1422 <p>The <code>ShellExpand</code> function has been renamed to <a |
1421 href="/pkg/os/#ExpandEnv"><code>ExpandEnv</code></a>.</p> | 1423 href="/pkg/os/#ExpandEnv"><code>ExpandEnv</code></a>.</p> |
1422 | 1424 |
1423 <p>The <a href="/pkg/os/#NewFile"><code>NewFile</code></a> function | 1425 <p>The <a href="/pkg/os/#NewFile"><code>NewFile</code></a> function |
1424 now takes a <code>uintptr</code> fd, instead of an <code>int</code>. | 1426 now takes a <code>uintptr</code> fd, instead of an <code>int</code>. |
1425 The <a href="/pkg/os/#File.Fd"><code>Fd</code></a> method on files now | 1427 The <a href="/pkg/os/#File.Fd"><code>Fd</code></a> method on files now |
1426 also returns a <code>uintptr</code>.</p> | 1428 also returns a <code>uintptr</code>.</p> |
1427 | 1429 |
1428 <p><em>Updating</em>: Code will fail to compile and must be updated | 1430 <p> |
1429 by hand. </p> | 1431 <em>Updating</em>: |
| 1432 What little code is affected will be caught by the compiler and must be updated
by hand. |
| 1433 </p> |
1430 | 1434 |
1431 <h4 id="os_fileinfo">The os.FileInfo type</h4> | 1435 <h4 id="os_fileinfo">The os.FileInfo type</h4> |
1432 | 1436 |
1433 <p> | 1437 <p> |
1434 Go 1 redefines the <a href="/pkg/os/#FileInfo"><code>os.FileInfo</code></a> type
, | 1438 Go 1 redefines the <a href="/pkg/os/#FileInfo"><code>os.FileInfo</code></a> type
, |
1435 changing it from a struct to an interface: | 1439 changing it from a struct to an interface: |
1436 </p> | 1440 </p> |
1437 | 1441 |
1438 <pre> | 1442 <pre> |
1439 type FileInfo interface { | 1443 type FileInfo interface { |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1662 <tr><td>Uitob(x, b)</td> <td>FormatUint(uint64(x), b)</td></tr> | 1666 <tr><td>Uitob(x, b)</td> <td>FormatUint(uint64(x), b)</td></tr> |
1663 <tr><td>Uitob64(x, b)</td> <td>FormatUint(x, b)</td></tr> | 1667 <tr><td>Uitob64(x, b)</td> <td>FormatUint(x, b)</td></tr> |
1664 </table> | 1668 </table> |
1665 ················ | 1669 ················ |
1666 <p> | 1670 <p> |
1667 <em>Updating</em>: | 1671 <em>Updating</em>: |
1668 Running <code>go fix</code> will update almost all code affected by the change. | 1672 Running <code>go fix</code> will update almost all code affected by the change. |
1669 <br> | 1673 <br> |
1670 § <code>Atoi</code> persists but <code>Atoui</code> and <code>Atof32</code> do n
ot, so | 1674 § <code>Atoi</code> persists but <code>Atoui</code> and <code>Atof32</code> do n
ot, so |
1671 they may require | 1675 they may require |
1672 a cast that must be added by hand; the go fix tool will warn about it. | 1676 a cast that must be added by hand; the <code>go fix</code> tool will warn about
it. |
1673 </p> | 1677 </p> |
1674 | 1678 |
1675 | 1679 |
1676 <h3 id="testing">The testing package</h3> | 1680 <h3 id="testing">The testing package</h3> |
1677 | 1681 |
1678 <p> | 1682 <p> |
1679 The testing package has a type, <code>B</code>, passed as an argument to benchma
rk functions. | 1683 The testing package has a type, <code>B</code>, passed as an argument to benchma
rk functions. |
1680 In Go 1, <code>B</code> has new methods, analogous to those of <code>T</code>, e
nabling | 1684 In Go 1, <code>B</code> has new methods, analogous to those of <code>T</code>, e
nabling |
1681 logging and failure reporting. | 1685 logging and failure reporting. |
1682 </p> | 1686 </p> |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1778 <p> | 1782 <p> |
1779 <em>Updating</em>: | 1783 <em>Updating</em>: |
1780 Code that uses the old fields will fail to compile and must be updated by hand. | 1784 Code that uses the old fields will fail to compile and must be updated by hand. |
1781 The semantic changes make it difficult for the fix tool to update automatically. | 1785 The semantic changes make it difficult for the fix tool to update automatically. |
1782 </p> | 1786 </p> |
1783 | 1787 |
1784 <h2 id="go_command">The go command</h2> | 1788 <h2 id="go_command">The go command</h2> |
1785 | 1789 |
1786 <h2 id="releases">Packaged releases</h2> | 1790 <h2 id="releases">Packaged releases</h2> |
1787 | 1791 |
LEFT | RIGHT |